首页 > 解决方案 > 从目录中检索一部分文件的奇怪问题:python中没有这样的文件或目录错误

问题描述

我知道这可能是一个重复的问题,但它有一个我无法找到的特殊点。
我正在尝试从我的 python 应用程序的目录中检索文件。下面的函数根据testOrTrain变量检索一定比例的文件。这是我的代码:

def get_files_in_dir(directory,trainOrTest):
    file_names_list = []
    for file_name in glob.glob(directory):
        file_names_list += [file_name]

   #1 for train_data and 0 for test_data
    if trainOrTest == 1:
      proportion = len(os.listdir(directory))*65/100
      return file_names_list[:int(proportion)]
    elif trainOrTest == 0:
      proportion = len(os.listdir(directory))*35/100
      return file_names_list[int(proportion):]
    # return file_names_list

这是我使用它的功能:

def training_data():
   for i in range(1,2):
     p = 'C'+'%.2d' % i
     file_path = os.path.join('ohsumed-all',str(p),'*')
     for file in get_files_in_dir(file_path,1):
        file_data = get_text_file_data(file)
        print(file_data)

这段代码给了我错误“没有这样的文件或目录”。这段代码的奇怪之处在于,当我删除if部分并只是简单地返回 files_names_list(注释中的代码部分)时,它工作正常。
有人知道这里发生了什么吗?
顺便说一句,我正在研究 wsl(ubuntu)

标签: pythonfiledirectorytraining-data

解决方案


推荐阅读