python執行cmd
我們在安裝一下開源包的時候,有些Python包會安裝一些可執行的命令行工具到系統的PATH路徑下,比如/usr/bin等目錄,從而可以在bash命令行上執行這些Python工具。一個可執行的Python腳本通常會是如下格式:
  
 當需要在Windows下使用這些包時,此腳本會被安裝到Python安裝目錄的Scripts子目錄下。但是如上類型的Python腳本可能沒辦法在cmd命令行下執行,此時需要手動創建一個同名的bat文件來協助調用該腳本,bat的內容通常是:
  
 此時在命令行下執行 YOUR_SCRIPT 命令就能正常運行了。
   當然,要記得把 c:\Python27\Scripts 放到環境變數的PATH中。
2. python怎麼在cmd中有標號運行
方法一:找到Python腳本所在的文件,使用快捷鍵shift+右擊的方式運行
當我們在網頁中下載好Python之後,默認安裝的時候會安裝一個Python腳本文件,使用這個方法之前就是要先找到Python腳本所在我文件夾中,找到之後,選擇文件點擊shift並且右擊滑鼠,在彈出的選項中,選擇「在此處打開命令窗口」,如何再使用快捷鍵tab鍵切換文件,選擇我們要使用的目標python腳本,然後就可以直接運行了,或者直接對當前的腳本文件雙擊運行。
方法二:命令行窗口運行
首先是要在命令行窗口中操作的,所以我們要先進入到命令行窗口中去,相信大家應該對進入命令行窗口的方式都掌握了,第一步要做的事情就是去打開一個運行窗口,可以使用快捷鍵的方式winr+r回車之後,此時會彈出運行窗口,我們在窗口中可以直接輸入cmd按下回車之後,就可以直接進入到命令行窗口中,使用剛才什麼的第一種方式,去文件夾中找到腳本文件所在的目錄之後,直接將腳本文件選擇拖入到命令行中,按下回車,即可運行Python程序。
3. pythonftp連接遠程執行cmd
pythonftp連接遠程執行cmd操作方法如下:
1、pipinstallpywinrm安裝模塊即可。
2、windows系統伺服器需要開啟winrm服務。
3、cmd命令可以寫成一個.bat文件,在伺服器上直接執行即可。
4. python自動運行cmd,bat文件
python編碼啟動cmd批處理文件(.bat文件),用subprocess方法可以將相應的cmd輸出獲取到,代碼如下:#importos#os.system
("c:\sam.bat")importsubprocesscmd='cmd.exec:\sam.bat'p=subprocess.
Popen("cmd.exe/c"+"c:\sam.batabc",stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
curline=p.stdout.readline()while(curline!=b''):print(curline)urline=p.stdout.readline()
p.wait()print(p.returncode)sam.bat批處理文件代碼:echoHelloworld!echoshow%1%
(4)python執行cmd擴展閱讀
在批處理.bat文件用通過這樣的語句調用explorer.exeC:xxx也可以使用用python的os庫可以實現代碼如下:importosos.system(r"explorer.exeC:\xxx")
即打開c盤的xxx文件夾,針對你的情況可以將這里改成你對應的路徑os.system(r"explorer.exe\10.9.40.22新建文件夾")就行了。
5. 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
6. 如何在windows cmd下運行python
假設python安裝目錄為C盤根目錄,版本為python2.6
先確保是否在windows環境變數中設置了python路徑(即path里是否添加了C:Python26)
一、如果設置了,則打開cmd,
1.直接輸入pythonC:myPython est.py,就可以執行py文件了;
2.鍵入python,進入python環境(此時會出現>>>符號),就可以輸入python代碼了
二、如果沒設置,可以添加上,其他同上;
也可以在cmd中臨時指定,如下:
1.先在cmd中輸入setPATH=%PATH%;C:Python26(這是一整行,然後回車)
2.之後可以直接執行py文件,如pythonC:myPython est.py
3.或者鍵入python,回車,就會進入python環境,執行python代碼
注意:
一旦進入了python環境,即出現了>>>符號時,就不能直接輸入pythonC:myPython est.py來執行文件了,需要通過下列方式來調用
#比如執行C://myPython//test.py,方法如下:
>>>importsys#引入sys庫體
>>>sys.path.append("C://myPython")#往系統路徑中加入自己存放py文件的目錄,注意不包含文件本身,只是目錄
>>>fromtestimport*#從test.py文件中載入所有的內容並執行
7. 如何在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
