我正在尝试在python脚本中的chmod等文件上执行命令。如何从命令行获取文件名到脚本?我想像这样执行脚本./addExecute.py blah 哪个blah是某个文件的名称。我的代码就是:
#!/usr/bin/python
import sys
import os
file = sys.argv[1]
os.system("chmod 700 file")
我一直收到错误,它无法访问'file'没有这样的文件或目录。
答案 0 :(得分:4)
os.system("chmod 700 file")
^^^^--- literal string, looking for a file named "file"
你可能想要
os.system("chmod 700 " + file)
^^^^^^---concatenate your variable named "file"
答案 1 :(得分:1)
可能类似于
os.system("chmod 700 %s" % file)
答案 2 :(得分:1)
os.system("chmod 700 file")
文件不会被其值替换。试试这个:
os.system("chmod 700 " + file)
顺便说一下,您应该检查脚本是否使用参数执行(您可能会遇到错误,例如“列表索引超出范围”)
答案 3 :(得分:0)
正如其他答案所指出的,您需要放置变量 file 的值。 但是,遵循建议的标准,您应该使用格式并将其声明为
os.system("chmod 700 {:s}".format(file))
使用
os.system("chmod 700 %s" % file)