Python執行CMD命令

引言

Python是一款功能強大的編程語言,在開發和運維領域都有廣泛的應用。在進行系統管理、監控、調試等工作過程中,經常需要與CMD命令打交道。Python提供了大量的方法來執行CMD命令,幫助用戶更快捷地完成工作。

正文

一、bat執行cmd命令

BAT是Windows下的批處理文件,可以用來存儲一組CMD命令,並將它們組合起來形成一個功能強大的腳本文件。下面是Python調用BAT文件執行CMD命令的示例代碼:

import os
os.system('test.bat')

該代碼中的test.bat文件可以是下面這個例子:

@echo off
cd /d D:\test
dir
pause

這個腳本的作用是進入D:\test目錄下,列出該目錄下的所有文件和文件夾,並在命令行界面輸出,等待用戶按下任意鍵後退出。

二、如何通過命令cmd執行bat文件

有時候需要在Python腳本中直接執行BAT文件,而不是通過調用命令行窗口來執行,這個時候可以使用下面的代碼:

import subprocess
subprocess.call(['cmd', '/c', 'test.bat'])

該代碼中的test.bat文件同樣是上面的例子,其中cmd /c表示執行完BAT文件後退出命令行界面。

三、cmd怎麼退出正在執行的命令

在CMD命令行界面中,可以使用CTRL+C鍵來終止當前正在執行的命令。在Python中,可以使用signal模塊來模擬這個操作:

import os
import signal
pid = os.getpid()  # 獲取進程ID
os.kill(pid, signal.CTRL_C_EVENT)  # 發送CTRL+C信號

該代碼可以在Python中模擬CTRL+C的操作,退出正在執行的CMD命令。

四、cmd執行過的命令怎麼撤銷

CMD命令行界面沒有類似於Linux中Ctrl + r的快捷鍵來查找和執行過去的命令。但Python中提供了命令歷史記錄,可以使用readline模塊來獲取歷史記錄。下面是獲取和刪除命令行歷史記錄的示例代碼:

import readline
readline.clear_history()   # 刪除命令歷史記錄
cmd = readline.get_history_item(readline.get_current_history_length() - 1)  # 獲取最近一條命令

五、遠程執行cmd命令

在進行遠程伺服器管理工作時,需要在本機上執行CMD命令並將結果傳輸到遠程伺服器上,可以使用paramiko模塊實現遠程執行CMD命令的功能。下面是一個示例代碼:

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.0.100', username='root', password='password')
stdin, stdout, stderr = ssh.exec_command('dir')
for line in stdout:
    print(line.strip('\n'))
ssh.close()

該代碼中,通過connect方法連接到遠程伺服器,並執行dir命令獲取目錄列表,並將結果列印到本機命令行界面上。

六、cmd執行exe文件的命令

Python可以使用subprocess模塊來啟動Windows的exe可執行文件,並執行其中的命令。下面是一個示例代碼:

import subprocess
subprocess.call("notepad.exe")

該代碼可以在Python中啟動Windows自帶的notepad.exe程序,打開記事本。

七、為什麼cmd輸入命令不執行

在Windows CMD命令行界面中,有些情況下輸入命令後並不能執行。原因可能是CMD命令行界面不支持某些字元類型的輸入,在Python中包含有這些類型的字元時也會遇到同樣的問題。解決方法是在命令前添加字元”r”,表示Python中的原始字元串。

import os
os.system(r'test.bat')

上述代碼中,r’test.bat’表示原始字元串,可以使得CMD兼容Python的字元串類型,避免出現問題。

結語

本文從不同角度詳細講解了如何在Python中執行CMD命令,希望對讀者理解和使用Python有所幫助。Python的強大和簡潔使得在和CMD交互的過程中體驗愉悅,開發效率大幅提高,適合廣大開發和運維人員學習和使用。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245746.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:11
下一篇 2024-12-12 13:11

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python for循環求1到100的積

    Python中的for循環可以方便地遍歷列表、元組、字典等數據類型。本文將以Python for循環求1到100的積為中心,從多個方面進行詳細闡述。 一、for循環語法 Pytho…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python編程二級證書考試相關現已可以上網購買

    計算機二級Python考試是一項重要的國家級認證考試,也是Python編程的入門考試。與其他考試一樣,Python編程二級證書的考生需要進入正式考試,而為了備考,這篇文章將詳細介紹…

    編程 2025-04-29

發表回復

登錄後才能評論