tkFileDialog.askopenfilename在文件名上添加垃圾桶

2024-04-25 19:16:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

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机器中,字符串上有一个额外的{},例如,如果我在该机器上运行以下代码

^{pr2}$

我将得到以下错误:

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方法向我添加了额外的{},所以我们首先要考虑的是字符串

为什么我得到这个{}?在


Tags: csvpathrun代码windowsa1计算机temp