无法弄清楚我的os.listdir方法正在发生什么-python

时间:2019-11-26 22:31:06

标签: python tensorflow-slim

我正在使用tensorflow-slim,并修改了一些示例代码以使用我自己的数据。

下面是设置下载数据集的目录的原始代码(dataset_dir由用户输入指定,这次是'/ tmp / flowers'):

flower_root = os.path.join(dataset_dir, 'flower_photos')
directories = []
class_names = []
print('##################current dir is', flower_root)    #original line for verification
for filename in os.listdir(flower_root):
  path = os.path.join(flower_root, filename)
  if os.path.isdir(path):
    directories.append(path)
    class_names.append(filename)

它打印'##################当前目录是/ tmp / flowers \ flower_photos',这是正确的,并且实际上对整个代码都适用。 / p>

由于运行良好,因此我尝试自定义以下代码,该代码只是将“ flowers”替换为“ MyData”(因此将dataset_dir更改为“ / tmp / MyData”):

MyData_root = os.path.join(dataset_dir, 'MyData_photos')
directories = []
class_names = []
print('##################current dir is', MyData_root)
for filename in os.listdir(MyData_root):
  path = os.path.join(MyData_root, filename)
  if os.path.isdir(path):
    directories.append(path)
    class_names.append(filename)

这一次,它打印'###################当前目录是/ tmp / MyData \ MyData_photos',这也是正确的,但是会引发错误:< / p>

FileNotFoundError:[WinError 3]系统找不到指定的路径:'/ tmp / MyData \\ MyData_photos'

我已经为这个问题工作了几个小时,但我不明白该os.listdir(MyData_root)方法发生了什么。突然在“ MyData”和“ MyData_photos”之间插入了附加的“ \”,并导致错误。

0 个答案:

没有答案