cmd_mkdir="mkdirtest"
cmd_new_file="touchnew_file"
cmd="{0}&&{1}".format(cmd_mkdir,cmd_new_file)
os.system(cmd)
Ⅱ 如何在Python中执行DOS命令
关于python调用cmd命令,主要介绍两种方式:
一、Python的OS模块
OS模块调用CMD命令有两种方式:os.system(),os.popen()。 都是用当前进程来调用。
1、os.system()
a、简单粗暴的执行cmd指令
b、返回结果为0表示执行成功,无法获取命令输出的内容,本在cmd输出的内容会直接在控制台输出。
c、当命令运行结束后接着往下面执行程序(同步阻塞式)。用法如:os.system("ipconfig")。
2、os.popen()
a、能获取DOS命令输出的内容。
b、os.popen()返回的是一个file对象,那么可以跟打开文件一样操作,r是以读的方式打开。
c、当命令运行结束后接着往下面执行程序(同步阻塞式)。
注意:os.popen() 方法用于从一个命令打开一个读写管道,在Unix,Windows中有效。
用法如:
with os.popen(r"adb devices","r")as f:
text = f.read()
print(text)# cmd输出结果
二、管道subprocess模块
a、在当前进程下产生子进程。
b、用wait()函数等待结果(异步非阻塞式)。
【方法1】
result = subprocess.check_output(r'adb devices') ## 命令执行的输出结果放到了result里
print(result)
【方法2】
process = subprocess.Popen(r'adb devices',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
command_output = process.stdout.read().decode('gbk')
print(command_output)
Notices:
有些命令行是异步执行的不会马上返回输出,所以有时候我们要先等这个命令行执行完毕才能从stdout读出来数据。这个时候要加上
process.wait()
我的GitHub
Ⅲ 如何让Python脚本在cmd下执行
我们在安装一下开源包的时候,有些Python包会安装一些可执行的命令行工具到系统的PATH路径下,比如/usr/bin等目录,从而可以在bash命令行上执行这些Python工具。一个可执行的Python脚本通常会是如下格式:
当需要在Windows下使用这些包时,此脚本会被安装到Python安装目录的Scripts子目录下。但是如上类型的Python脚本可能没办法在cmd命令行下执行,此时需要手动创建一个同名的bat文件来协助调用该脚本,bat的内容通常是:
此时在命令行下执行 YOUR_SCRIPT 命令就能正常运行了。
当然,要记得把 c:\Python27\Scripts 放到环境变量的PATH中。
Ⅳ python 怎么在cmd命令
1、打开cmd窗口,输入:cd c:\\python27 (首先得确认python已加入环境变量)
2、第二条命令:python[空格]完整的python脚本路径,运行即可
3、一个案例:
C:\Users\Administrator>cd c:\\python27
c:\Python27>python D:\1.py
iaodeng
c:\Python27>
Ⅳ python 运行cmd系统命令
eg:os.system('ls')
这个会直接给出结果,但是没有办法进行进一步的保存和处理
2.os.popen(cmd)
eg:str = os.popen("ls").read()
a = str.split("\n")
会得到['1.ini',
'XXX.txt',
'XXX.txt',
'AndroidStudioProjects']
3.使用subprocess模块
可以创建新的进程,可以与新建进程的输入/输出/错误管道连通,并可以获得新建进程执行的返回状态。
import subprocess
subprocess.call (["cmd", "arg1", "arg2"],shell=True)
#会直接打印出结果。
2、subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
# shell设为true,程序将通过shell来执行,如果command不是一个可执行文件,shell=True是必须的
# stdin, stdout, stderr分别表示程序的标准输入、输出、错误句柄。他们可以是PIPE,文件描述符或文件对象,也可以设置为None,表示从父进程继承。
# subprocess.PIPE实际上为文本流提供一个缓存区。
shell=True意思是shell下执行command
3. 使用模块 commands模块
import commands