我有以下代码:
csv_path = tkFileDialog.askdirectory(title="Select csv directory",initialdir=default_initial_dir)
print csv_path
我在不同的计算机上有以下行为:
在一台计算机上,使用 Python 2.7.3 和 Windows XP 32 位,我得到以下输出,选择 2 个文件:
- {C:/Temp/MMA/Run_A1/V4.0/Geoflow-2b_Run1a_DOY353_aa1hfaa_csv/MMA_OPS_1039899108851.csv}
- {C:/Temp/MMA/Run_A1/V4.0/Geoflow-2b_Run1a_DOY353_aa1hfaa_csv/MMA_OPS_1039899108852.csv}
在另一台装有 Windows 7 64 位和 Python 2.7.2 的计算机上,我得到以下信息:
- C:/Temp/MMA/Run_A1/V4.0/Geoflow-2b_Run1a_DOY353_aa1hfaa_csv/MMA_OPS_1039899108851.csv
- C:/Temp/MMA/Run_A1/V4.0/Geoflow-2b_Run1a_DOY353_aa1hfaa_csv/MMA_OPS_1039899108852.csv
如您所见,在 XP 机器上,我在字符串上多了一个 {},例如,如果我在该机器上运行以下代码
csv_path = tkFileDialog.askdirectory(title="Select csv directory",initialdir=default_initial_dir).split()
for f in csv_list:
file = open(f,'r')
calculate_column_numbers(file)
process_tm_file(file)
log("%s\r" % (str(i)+' of '+str(len(csv_list))),False)
file.close()
我会收到以下错误:
IOError: [Errno 22] invalid mode ('r') or filename: u'{C:/Temp/MMA/Run_A1/V4.0/Geoflow-2b_Run1a_DOY353_aa1hfaa_csv/MMA_OPS_1039899108851.csv}'
由于 askdirectory 方法向我添加了额外的 {}
为什么我会得到那个 {}?