我正在尝试调整当前包含以下段的脚本:
# Initialize the output files
working_dir = os.getcwd()
output_path = "{}/{}".format(working_dir, "output_Prelim")
if not os.path.exists(output_path):
os.mkdir(output_path)
data_file = "{0}/RWA_2010_BUFFER_by_1.csv".format(output_path)
error_file = "{0}/failed_queries.txt".format(output_path)
在以“data_file”开头的语句中,文件名“RWA”和“2010”的部分是指进行特定调查的国家和地区。
我正在尝试调整该细分,以便文件名保留相同的通用格式,但允许用户输入不同的国家/地区代码和年份。
我可以使用以下代码生成一个名为“file_name”的字符串:
print('Enter the country code')
cCode =input()
print('The country code is '+cCode)
print('Enter the survey year')
srvyYear =input()
print('The survey year is '+srvyYear)
file_name = r'"{0}/'+cCode+'_'+srvyYear+'_'+'BUFFER300_by_1.csv"'\
当我打印“file_name”时,我得到了
"{0}/BDI_2009_BUFFER300_by_1.csv"
看起来很正确,但我不知道如何处理它 - 特别是如何将其理解为文件名而不是字符串。当我尝试将该字符串与以“data_file”开头的语句的其余部分连接时,我收到语法错误。
显然我需要做一个教程,但不知道该找什么。
非常感谢,并为新手问题道歉。
答案 0 :(得分:0)
不确定您的问题究竟是什么,但如果您想用其他内容替换{0}
部分(例如data_file
中的值),则可以file_name.format(data_file)
。< / p>
答案 1 :(得分:0)
为什么不将join()
方法用于字符串,而os.path.join()
用于paht? e.g。
file_name = os.path.join(out_path, '_'.join([cCode, srvyYear, 'BUFFER300_by_1.csv']))
你可以看到它的文档here,我相信这就是你需要的,你最好不要自己连接字符串来构造路径或文件名。顺便说一句,os.path.join()
可以构建文件名而不需要平台依赖,它将是一个明智的选择(特别是对于Windows)。