Problems checking existence of directory
本问题已经有最佳答案,请猛点这里访问。
我正在尝试从外部文件(config.txt)加载配置。该文件包含有关我的驱动器上目录的信息。我编写了一个方法来读取config.txt的一行并返回其值。第二个方法检查目录的存在。后一个方法的第一个调用总是会导致一个错误,即使给定的目录存在。
我尝试了不同的目录,甚至两行中的同一个目录。第一次打电话,我总是听到"假"。第二次呼叫的结果是正确的答案。如果使用任何目录从终端调用该方法,我会得到正确的结果。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import os def _load_config(setting_line, setting_print): temp_file = open("config.txt","r") temp_setting = temp_file.readlines()[setting_line] temp_file.close() print(setting_print,temp_setting) return temp_setting def _Check_Folder_Exists(temp_path): if os.path.exists(temp_path): print("dir found") else: print("dir NOT found") dir_A = _load_config(0,"dir A:") _Check_Folder_Exists(dir_A) dir_B = _load_config(1,"dir B:") _Check_Folder_Exists(dir_B) |
config.txt如下所示:
1 2 | C:\A C:\B |
两个目录都存在并且都可以访问。
结果总是:
1 2 3 4 5 | dir A: C:\A dir NOT found dir B: C:\B dir found |
还有:我不明白为什么第一条线后面有空行。
这两个问题是相关的。这是因为当你使用
使用
1 | temp_setting = temp_file.readlines()[setting_line].strip() |