python IOError [Errno 13] string vs Tk

时间:2016-06-06 19:58:51

标签: python python-2.7 file tkinter tk

当我使用Tk.askopenfiledialogbox并选择我想要的目录时,用open(files, "r")打开每个文件就可以了。但是,当我将路径硬编码到字符串中时,我得到访问被拒绝IOError [Errno13]。这是我的代码:

   data_path = "C:\Data\DataSubDir"  
   datadir = [x[0] for x in os.walk(data_path)]
   for dataset in datadir[1:]:
        for files in glob.glob(dataset):
             with open(files,'r') as dest_f:
                  data_iter = c.reader(dest_f, 
                                       delimiter = ',', 
                                       quotechar = '"')
                   data = [data for data in data_iter]
                   csv = np.asarray(data, dtype = None)

我想在不改变权限的情况下解决这个问题。此外,如果有人也可以解释为什么通过Tk对话框选择文件摆脱了令人敬畏的权限问题(并提供解决方案!)。

感谢。

1 个答案:

答案 0 :(得分:2)

要么逃避你的反斜杠

data_path = "C:\\Data\\DataSubDir"

或使用原始字符串:

data_path = r"C:\Data\DataSubDir"  

使用Tk对话框,字符串的格式正确。