1

我有以下代码:

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 方法向我添加了额外的 {}

为什么我会得到那个 {}?

4

0 回答 0