我正在尝试编写一个python脚本,在传递给此脚本的参数中,需要将其用作将在此脚本中执行的命令的参数。 在cygwin上执行此脚本
例如: - x.py file1
在x.py脚本中:
file = sys.argv[1]
data = os.popen('ar t file').read()
当执行此命令时,不采用文件的值(即file1),而不是'文件'变量被视为一个文件,因此会抛出一个错误:filename' file'无法找到。是否可以将file的值作为参数传递给此命令。
谢谢, Akhilesh
答案 0 :(得分:1)
这与命令参数或传递它们无关,而是对字符串的基本误解。你有一个包含单词“file”的硬编码字符串,你实际上并没有在任何地方传递function call_function(){
// your script here
}
变量的值。您可以使用字符串替换:
file
或
data = os.popen('ar t {}'.format(file)).read()