我是Python的初学者。我想要获取具有变量值的文件。我使用命令行参数选项获取变量值。我想使用此变量作为源文件的路径参数。我是对变量说的。以下是我正在尝试的代码。
folder_name = 'abc'
execfile("/a/b/c/folder_name")
我希望它将folder_name
的值作为abc并执行文件
execfile("/a/b/c/abc")
答案 0 :(得分:2)
这可以通过字符串连接或format
来完成 - 后者更安全/更好:
execfile("/a/b/c/" + folder_name)
execfile("/a/b/c/{}".format(folder_name)
有关format
的详情,请参阅PyFormat
但是你可能想要考虑execfile
是否是正确的方法!其他数据格式可能是更好的选择 - 例如pickle
,json
或yaml
。
答案 1 :(得分:1)
只要需要将变量名称插入到字符串中,就可以使用.format()
:
execfile("/a/b/c/{0}".format(folder_name))
请注意,此处的{0}
对应于您传递给format
函数的第一个参数。
同样,{1}
,{2}
,...分别对应format
函数的第二,第三,......参数。
您也可以使用%
运算符,但请注意,自Python 3.1起,它已弃用。
答案 2 :(得分:0)
如你所说,你是Python的初学者,那么你应该改变你的方法,不应该使用execfile
而是考虑使用pickle
或json.load
来存储数据
答案 3 :(得分:0)
你需要这样的东西:
folder_name = 'abc'
execfile("/a/b/c/{folder_name}".format(folder_name=folder_name))