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 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- Python标准库之Sys模块使用详解
sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...
- Python中os和sys模块中常用的方法
os模块 os模块:该模块提供了一些方便使用操作系统相关功能的函数 os.remove() 删除文件 os.rename() 重命名文件 os.walk() 文件目录遍历器 os.chdir() 改变 ...
- python 全栈开发,Day27(复习, defaultdict,Counter,时间模块,random模块,sys模块)
一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输 ...
- Python基础-os和sys模块
os模块提供对操作系统进行调用的接口 import os os.getcwd() # 获取当前工作目录 os.chdir(r'd:\fansik') # 修改对当前工作目录 print(os.curd ...
- python 基础 7.6 sys 模块
一.sys 模块 sys 模块主要功能是获取参数 [root@www pythonscripts]# cat 2.py #!/usr/bin/python #coding=utf-8 im ...
- Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块
Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...
- Python 入门之 内置模块 -- sys模块
Python 入门之 内置模块 -- sys模块 1.sys模块 sys模块是与python解释器交互的一个接口 print(sys.path) #模块查找的顺序 print(sys.argv) # ...
- python之os和sys模块的区别
一.os模块 os模块是Python标准库中提供的与操作系统交互的模块,提供了访问操作系统底层的接口,里面有很多操作系统的函数 1.os常用方法 import os # print(os.getcwd ...
- Python模块02/序列化/os模块/sys模块/haslib加密/collections
Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...
随机推荐
- [翻译] JFMinimalNotifications
JFMinimalNotifications This is an iOS UIView for presenting a beautiful notification that is highly ...
- openweathermap-免费的天气预报接口
openweathermap-免费的天气预报接口 其官方网址为:http://www.openweathermap.org/api 静态截图: 具备以下的一些特点: 1. Current weathe ...
- Java——并发编程
1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User). 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon( ...
- Linux 用户和用户组详解
用户分类 超级用户:UID范围 0 root用户:uid=0(root) gid=0(root) groups=0(root) 普通用户:由管理员创建,UID范围(500-65535) --> ...
- spring4声明式事务--01注解方式
1.在spring配置文件中引入 tx 命名空间 xmlns:tx="http://www.springframework.org/schema/tx" 2.配置事务管理器 < ...
- DevExpress01:Bar Manager,bar 、Toolbars
Bar Manager : 不可见的控件 如果想在窗体或用户控件添加工具条或弹出菜单,我们需要把一个不可见的控件 BarManager拖放到这个窗体或用户控件上. 这个BarManager控件维护工具 ...
- iOS: 聊聊 Designated Initializer(指定初始化函数):NS_DESIGNATED_INITIALIZER
总结:指定函数的调用规则: 初始化函数的调用顺序与初始化顺序相反. 上面关于指定初始化的规则讲了那么多,其实可以归纳为两点: 便利初始化函数只能调用自己类中的其他初始化方法 指定初始化函数才有资格调用 ...
- js等比压缩上传
一.js文件,这个是封装过的,借用了网络上的代码然后修改的 (function(window,undefined){ var upload = function(){ this.init(); }; ...
- [SHOI2008]小约翰的游戏
题目 不会,抄论文 这是一个非常牛逼的东西,叫做\(anti\)博弈,就是进行最后一次操作的人输 我们考虑一下这道题 显然如果石子个数都是\(1\),那么有奇数堆石子先手必败,有偶数堆石子先手必胜 如 ...
- 一般处理程序中用到session时
一般处理程序ashx文件使用session 1.先引用System.Web.SessionState这个命名空间, 2.如果是要在HttpHandler中读取Session的内容,就要在实现IHttp ...