【问题标题】:Change CMD path from Python script从 Python 脚本更改 CMD 路径
【发布时间】:2015-06-17 16:45:50
【问题描述】:

我试图在 python 中为 FASM(平面汇编器)、C 创建工作区。
我的问题是,我不想保留所有文件,例如FASM.exe,在主目录中。
我想创建名为“Compilers/FASM”的文件夹并将所有 FASM 文件存储在那里。
我想使用 os.system() 调用程序。
问题是当我尝试通过 os.system('Compilers/FASM/FASM.exe projects/test/boot.asm projects/test/boot.bin') 使用 FASM(最后是 FASM args)时,我得到的信息是FASM 找不到源文件。
FASM 试图从 Compilers/FASM/Projects/test/boot.asm 编译文件,但此位置不存在。
如果我要更改路径并添加此文件夹 (Compilers/FASM/),那么我可以在主目录中使用 FASM.exe。
当我在主目录中有 FASM 时,执行命令 'FASM.exe projects/test/boot.asm projects/test/boot.bin' 成功。

我在谷歌上搜索,但找不到任何有关更改程序路径的信息。我尝试使用 os.system('path=Compilers/FASM'),但没有用。
如何更改 Python 脚本中的 CMD 路径?

FASM 参数:
FASM [输出文件]

对不起我的英文和文本格式

【问题讨论】:

  • 你能用一些换行符和一个实际问题再试一次吗?
  • 使用子进程模块代替os.system:retcode = subprocess.call(r'Compilers\FASM\FASM.exe projects\test\boot.asm projects\test\boot.bin', cwd=r'Compilers\FASM')

标签: python windows cmd


【解决方案1】:

一种解决方法。这是使用完整路径而不是相对路径。 例如你可以这样做:

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

【讨论】:

  • 我得到的唯一内容是关于帮助和如何使用 FASM 的文本。 FASM有可能获取当前目录并将源文件添加到当前目录,所以我认为唯一的方法是更改​​路径
  • 我不知道 FASM。在使用 os.system 之前检查通过打印提供的参数。
猜你喜欢
  • 1970-01-01
  • 2019-02-16
  • 2015-09-26
  • 1970-01-01
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
  • 2019-08-31
  • 1970-01-01
相关资源
最近更新 更多