【发布时间】:2021-10-04 21:36:18
【问题描述】:
我在这里将我的几个命令翻译成 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 未被识别为内部或外部命令。”
如果我应该采用不同的方法,有什么想法或建议吗? 谢谢!
【问题讨论】:
-
你正在执行命令行,所以不要使用批处理语法。在命令行上,将每个
%%i替换为%i。 -
哦 - 和
^因为“命令行继续”不能以这种方式工作。您碰巧拆分了行并执行了两个cmd进程,每个进程都有半个命令。 -
我不知道 phyton,但根据你的代码示例,这应该可以工作:
result = os.system ('FOR /F %i in (C:\folder1\folder2\folder3\folder4\File.d) DO tessycmd add-include-dir %i')(可能你必须给它提供tessycmd的完整路径) -
我不敢相信 python 无法读取文件的每一行,而无需请求内部 cmd.exe 命令来代替。
-
@John,python 运行 CLI,pythonw 运行 GUI。你不需要让 cmd.exe 读取文件,python 可以打开它,读取它,使用它执行命令,然后关闭它。
标签: python windows batch-file cmd translate