2015-06-17 215 views
-2

我試圖在FASM(Flat assembler)中創建工作空間,C。
我的問題是,我不想保留所有文件,例如,主目錄中的FASM.exe。
我想創建一個名爲'Compilers/FASM'的文件夾,並在那裏存儲所有的FASM文件。
我想使用os.system()調用程序。
問題是當我試圖通過os.system('編譯器/ FASM/FASM.exe項目/測試/ boot.asm項目/測試/ boot.bin')使用FASM(最後FASM args),我得到FASM無法找到源文件的信息。
FASM嘗試從Compilers/FASM/Projects/test/boot.asm編譯文件,並且此位置不存在。
如果我想改變路徑並添加這個文件夾(編譯器/ FASM /),那麼我可以在主目錄中使用FASM.exe。
當我在主目錄內有FASM時,執行命令'FASM.exe projects/test/boot.asm projects/test/boot.bin'就成功了。從Python腳本中更改CMD路徑

我在Google上搜索,找不到有關程序變更路徑的任何內容。我試圖使用os.system('path = Compilers/FASM'),但沒有奏效。
如何更改Python腳本中的CMD路徑?

FASM ARGS:
FASM <源文件> [輸出文件]

對不起我的英語和文本格式

+0

你可以再試一次換行符和一個實際的問題嗎? – jonrsharpe

+0

使用子進程模塊而不是'os.system':'retcode = subprocess.call(r'Compilers \ FASM \ FASM.exe projects \ test \ boot.asm projects \ test \ boot.bin',cwd = r'Compilers \ FASM')' – eryksun

回答

0

一個辦法address.this用相對的人的完整路徑代替。 例如,你可以這樣做:

src = os.path.abspath('projects/test/boot.asm') 
dst = os.path.abspath('projects/test/boot.bin') 
os.system('Compilers/FASM/FASM.exe ' + src + ' ' + dst) 
+0

我得到的唯一東西是關於幫助以及如何使用FASM的文本。 FASM有可能獲取當前目錄並將源文件添加到當前目錄,所以我認爲唯一的方法是更改​​路徑 – vakus

+0

我不知道FASM。在使用os.system之前檢查通過打印提供的參數。 –