将几个批处理脚本命令翻译成 python

Translate several batch script commands into python

我在将我的几个命令翻译成 python 时遇到了一些麻烦,我也在使用第 3 方软件,它有自己的 CLI 命令和批处理,我的批处理代码遍历文件并获取所有该文件中的行是一些路径,并将它们包含在第 3 方 sw 内的所需位置:

FOR /F %%i in (C:\folder1\folder2\folder3\folder4\File.d) ^
DO tessycmd add-include-dir %%i

我正在尝试在 python 中翻译它,目前我的代码如下所示:

os.system ('FOR /F %%i in (C:\folder1\folder2\folder3\folder4\File.d')+ '^'
                    result = os.system('DO tessycmd add-include-dir %%i') 

我的代码不起作用,我得到的只是错误,如:

“%%i 在这个时候出乎意料”并且 “DO 未被识别为内部或外部命令。”

如果我应该有不同的方法,有什么想法或建议吗? 谢谢!

好的,我已经通过以下方式找到了解决方案:

  result = os.system ('FOR /F %i in (C:\folder1\folder2\folder3\folder4\File.d) DO tessycmd add-include-dir %i')

正如其他评论者指出的那样,将所有处理推向 shell 类型首先违背了使用 Python 的目的。您可以改为执行以下操作:

with open('C:\folder1\folder2\folder3\folder4\File.d') as file:
    for line in file:
        os.system(f'tessycmd add-include-dir {line}')