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