2015-06-17 168 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之前检查通过打印提供的参数。 –