守则:
MOST_POPULAR_REPORTS_LOCATION = '/tmp'
MOST_POPULAR_REPORTS_FILE = 'filename.xml'
TEMP_DATA_FILE_LOCATION = '/tmp/other_location'
subprocess.call(["/bin/cp","-a","MOST_POPULAR_REPORTS_LOCATION MOST_POPULAR_REPORTS_FILE","TEMP_DATA_FILE_LOCATION"])
我应该在MOST_POPULAR_REPORTS_LOCATION
和MOST_POPULAR_REPORTS_FILE
之间放置一个/
?我尝试了各种组合但没有成功。
我想要的是将两个变量与/
分开,以便通过使用变量替换来读取/tmp/filename.xml
。我不想对整个脚本中使用的路径或文件名进行硬编码。
答案 0 :(得分:1)
使用os.path.join
:
subprocess.call(["/bin/cp", "-a",
os.path.join(MOST_POPULAR_REPORTS_LOCATION, MOST_POPULAR_REPORTS_FILE),
TEMP_DATA_FILE_LOCATION])
您不应该将变量名称放在引号中,否则您将获得字符串文字。这不是shell。