簡體   English   中英

有沒有一種簡單的方法可以在Windows中從python內部執行命令行語句?

[英]Is there a simple method for executing command line statements, in windows, from within python?

我在上下搜索了有關如何在Windows中從python內部執行命令行的簡單說明。

子流程包似乎是答案,但是我似乎沒有足夠的經驗來做文章的開頭或結尾。

由於缺乏Windows焦點,或者缺乏示例和預期的輸出,我已經復習了一些無濟於事的問題。 例如命令行問題

例如,有人可以解釋如何實現以下目標:

  1. 在python中創建文件名(例如"db_dump 2013-08-05.sql"
  2. 使用mysql命令行實用程序轉儲mysql數據庫(例如mysqldump --result-file="db_dump 2013-08-05.sql" --all-databases

像這樣嗎

from subprocess import call
call('mysqldump --result-file="db_dump 2013-08-05.sql" --all-databases', shell=True)

請記住,如果您使用不受信任的用戶提供的參數, shell=True可能會帶來安全風險。 例如,當您讓不受信任的用戶使用時,請指定文件名。

  1. fname = "db_dump%s.sql"%time.strftime("%Y-%m-%d")假設這就是您的意思

  2. os.system("mysqldump --result-file=\\"%s\\" --all-databases"%fname)

您可以嘗試使用Fabric,尤其是“ local()”命令:

http://docs.fabfile.org/en/1.7/api/core/operations.html?highlight=local#fabric.operations.local

在您的python代碼中,您可以像這樣使用它

local('mysqldump ...')

通常從外殼程序使用Fabric(使用“ fab”命令和包含要執行的python代碼的fabfile.py)。 要將其包含在另一個python腳本中,請檢查以下內容(第一個答案):

在python腳本中啟動Fab File

問候,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM