1.使用system
调用程序
-
在当前目录下创建
data
文件import os os.system(r'mkdir data.txt')
-
需要执行
多条命令
的时候,需要注意system每次只有一个单独的子进程,需要如下操作。import os os.system(r'D: && mkdir data')
2.使用popen
调用程序
os.popen(命令,权限,缓冲大小)
command
– 使用的命令。
mode
– 模式权限可以是 ‘r’(默认) 或 ‘w’。
bufsize
– 指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓 冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。- 代码
command=r" " with os.popen(command, "r") as p: #这里防止忘记关闭文件 r = p.read() print(r)
3.区别
- ·os.system(cmd)·的返回值是脚本的
退出状态码
,只会有0(成功),1,2 - ·os.popen(cmd)·返回脚本执行的
输出内容
作为返回值 popen
为非阻塞的,如需阻塞,可以用read()
或readlines()