Python之subprocess模块sys模块

Posted 迎风而来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之subprocess模块sys模块相关的知识,希望对你有一定的参考价值。

一、subprocess模块

 

# import os
# os.system(\'tasklist\')       #类似cmd输入系统命令

\'\'\'
subprocess的目的就是启动一个新的进程并且与之通信。
subprocess模块中只定义了一个类: Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。\'\'\'
import subprocess             #可以替代os.system
import time
#stdout命令正确输出结果,PIPE进程与进程之间共享的管道,shell=True代表调用命令解释器
obj=subprocess.Popen(
    \'taskliasdfsadfst\',             #可以输入系统命令
    shell=True,
    stdout=subprocess.PIPE,         #如输入tasklist
    stderr=subprocess.PIPE          #如输入taskliasdfsadfst

)
# print(obj)
stdout_res=obj.stdout.read()      #从儿子将正确的结果放到管道中,父亲等儿子将正确的结果放入管道,父亲从正确的管道读结果
print(stdout_res.decode(\'gbk\'))   ##windows默认的是gbk编码的,所以解码也要用gbk
print(stdout_res)

# stderr_res1=obj.stderr.read()              #
# stderr_res2=obj.stderr.read()
# stderr_res3=obj.stderr.read()
# print(stderr_res1.decode(\'gbk\'))          #windows默认的是gbk编码的,所以解码也要用gbk
# 打印结果:\'taskliasdfsadfst\' 不是内部或外部命令,也不是可运行的程序
# 或批处理文件。

# print(stderr_res1)                          #第一次从管道中取走,后面再取则为空
# print(stderr_res2)
# print(stderr_res3)

# import time
# time.sleep(50)

 

 

 

二、sys模块

 

import sys

# sys.path:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
# sys.argv # 用来接收python解释器执行py文件后跟的参数
#例如:python cp.py argv1 argv2 arg3
#sys.argv=[\'cp.py\',\'argv1\',\'argv2\',\'argv3\']

import sys
print(sys.argv[0])
print(sys.argv[1])





# sys.argv           命令行参数List,第一个元素是程序本身路径
# sys.exit(n)        退出程序,正常退出时exit(0)
# sys.version        获取Python解释程序的版本信息
# sys.maxint         最大的Int值
# sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform       返回操作系统平台名称

 

 

sys实现文件的拷贝

 

\'\'\'执行文件:cp.py\'\'\'
import sys
print(sys.argv)------------[]
# src_file=input(\'请输入源文件路径:\')
src_file=sys.argv[1]           #通过cmd拿到源文件路径
# dst_file=input(\'请输入目标文件路径:\')
dst_file=sys.argv[2]           #通过cmd拿到目标件路径
with open(src_file,\'rb\') as read_f,\\
    open(dst_file,\'wb\') as write_f:
    for line in read_f:
        write_f.write(line)

 

cmd运行内容:

 

以上是关于Python之subprocess模块sys模块的主要内容,如果未能解决你的问题,请参考以下文章

Python之Subprocess模块

sys模块和subprocess子进程模块

python模块 os&sys&subprocess&hashlib模块

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess

python 关于操作文件的相关模块(os,sys,shutil,subprocess,configparser)

python模块之subprocess模块, struct模块