【发布时间】:2020-03-10 23:24:36
【问题描述】:
我正在尝试从 python 脚本文件 (myscipt.py) 运行 shell 命令。命令是
os.system('For /R "D:\SVN\fido\" %G IN (*.so) do "python timeout.py %G %s" ' %l)
此命令将递归搜索 D:\SVN\fido\ 下的所有.so 文件,每个找到的.so 文件将成为python 脚本 timeout.py 的第一个参数%G。我需要将一个整数值作为第二个参数传递给这个 timeout.py 文件,为此我试图运行上面显示的命令。
l 的值是一个整数值,我需要将此值作为该 timeout.py 文件的第二个参数传递。当我运行此命令时,我收到“TypeError:格式字符串的参数不足”错误。
有什么建议吗?这应该是python格式问题。根据我的说法,%s 应该替换为l 的整数值,但我不知道它为什么会出错。下面是我正在使用的 myscript.py 文件。
import sys
import os
l=int(23410000)
print l
os.system('For /R "D:\SVN\fido\" %G IN (*.so) do "python timeout.py %G %s" ' %l)
【问题讨论】:
-
我想你的意思是 %G 是你发送到操作系统的命令的一部分。在这里,python 会“认为”您想在每个 % 中插入一个值,因此是 3 个值。它只找到一个。您可能应该在 %G 中使用 %。