[英]How to run a .bat file in DOSbox with Python?
我需要使用DOSbox模擬器來運行.bat文件
但是我不知道如何在python中實現我必須遵循的所有步驟。 這是我的嘗試:
import os
commands = ['""C:\Program Files (x86)\DOSBox-0.73\dosbox.exe""',
'mount c c:\Users\g\Desktop',
'C:',
'run_t2d.bat']
for i in commands:
os.system(i)
對於第一個元素,它運行DOSbox控制台,但是隨后它不識別其他2個命令。
'mount' is not recognized as an internal or external command,
operable program or batch file.
'run_t2d.bat' is not recognized as an internal or external command,
operable program or batch file.
可能與不同的子流程有關。 當然,如果我自己運行控制台並鍵入完全相同的命令
您實際上甚至不需要Python。 您需要運行Dosbox並在自動執行部分中使用所需命令傳入-conf參數,該參數指向配置文件。
因此,如果您在與批處理文件相同的目錄中創建一個名為run_t2d.conf之類的配置文件,如下所示:
[autoexec]
mount c c:\Users\g\Desktop
C:
run_t2d.bat
然后,當您啟動dosbox時:
C:\\Program Files (x86)\\DOSBox-0.73\\dosbox.exe -conf C:\\Users\\G\\Desktop\\run_t2d.conf
當然,您可以根據需要在python腳本中調用它。
您可以使用DOSBox的-c
選項來指定要作為參數運行的命令,而不必創建配置文件。 例如:
import subprocess
dosbox_exe = r'C:\Program Files (x86)\DOSBox-0.73\dosbox.exe'
dosbox_args = [r'mount c c:\Users\g\Desktop',
'C:',
'run_t2d.bat']
def run_dosbox(args):
return subprocess.call(reduce(lambda x, y: x + ["-c"] + [y],
args, [dosbox_exe]))
run_dosbox(dosbox_args)
我用subprocess.call
,而不是os.system
,因為它會自動處理報價所必需的參數那里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.