# import sys # sys.path # sys.argv # 用来接收python解释器执行py文件后跟的参数 #例如:python cp.py argv1 argv2 arg3 #sys.argv=['cp.py','argv1','argv2','argv3']
相关代码
import sys # print(sys.argv) # src_file=input('请输入源文件路径:') src_file=sys.argv[1] # dst_file=input('请输入目标文件路径:') dst_file=sys.argv[2] with open(src_file,'rb') as read_f, open(dst_file,'wb') as write_f: for line in read_f: write_f.write(line)
打印进度条#背诵
import time def make_progress(percent,width=50): if percent > 1:percent=1 show_str=('[%%-%ds]' % width) % (int(percent * width) * '#') print(' %s %s%%' %(show_str,int(percent * 100)),end='') total_size=102511 recv_size=0 while recv_size < total_size: time.sleep(0.1) # 模拟经过了0.5的网络延迟下载了1024个字节 recv_size+=1024 # 调用打印进度条的功能去打印进度条 percent=recv_size / total_size make_progress(percent)
subprocess模块
# import os # os.system('tasklist') #执行系统命令 import subprocess#这个模块就用来执行系统命令 import time#qq不是进程qq是程序,双击qq启动起来才叫启动一个进程 obj=subprocess.Popen( #这一步仅仅是生了一个儿子出来 'tasklist', shell=True,#shell 就是命令解释器 stdout=subprocess.PIPE, #命令正确运行的结果 stderr=subprocess.PIPE #命令运行错误的结果 PIPE 进程与进程之间共享数据用的 ) time.sleep(10) # print(obj) # stdout_res=obj.stdout.read() # print(stdout_res.decode('gbk')) # print(stdout_res) # stderr_res1=obj.stderr.read() # stderr_res2=obj.stderr.read() # stderr_res3=obj.stderr.read() # print(stderr_res1.decode('gbk')) # print(stderr_res1) # print(stderr_res2) # print(stderr_res3) # import time # time.sleep(50)
subprocess模块
#subprocess 模块 import subprocess #这个模块用来执行系统命令 subprocess子进程的意思 import time obj=subprocess.Popen( 'tasklist', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) # print(obj)#得到一个内存地址 # time.sleep(10)#可以看到进程 子进程结束 父进程在睡10秒 #这一步代表生了个儿子出来 #第一个参数必须是字符串形式的命令 第二个必须加shell=True shell的意思是命令解释器 这一步其实在调命令解释器 #stdout 代表命令正确运行的结果 #stderr 代表命令错误运行的结果 #管道其实就是进程与进程之间共享数据的地方 #正确的命令从管道里面输给父进程,让父进程使用 #错误的结果也往管道里面丢 这样取得时候就有针对性 stdout_res=obj.stdout.read()#从正确管道读结果 print(stdout_res.decode('gbk'))#bytes类型 #总结 #subprocess模块的应用