How to get file path + file name into a list?
本问题已经有最佳答案,请猛点这里访问。
我正在尝试获取包含文件路径和文件名的字符串列表。目前我只把文件名列在列表中。
代码:
1 | hamFileNames = os.listdir("train_data\ham") |
输出:
1 2 3 | ['0002.1999-12-13.farmer.ham.txt', '0003.1999-12-14.farmer.ham.txt', '0005.1999-12-14.farmer.ham.txt'] |
我想要一个类似这样的输出:
1 2 3 | ['train_data\ham\0002.1999-12-13.farmer.ham.txt', 'train_data\ham\0003.1999-12-14.farmer.ham.txt', 'train_data\ham\0005.1999-12-14.farmer.ham.txt'] |
由于您有权访问目录路径,因此可以执行以下操作:
1 2 | dir ="train_data\ham" output = map(lambda p: os.path.join(dir, p), os.listdir(dir)) |
或更简单
1 | output = [os.path.join(dir, p) for p in os.listdir(dir)] |
其中,
如果您使用的是python 3.5或更高版本,请跳过
1 | hamFileNames = [entry.path for entry in os.scandir(r"train_data\ham")] |
这还允许您以较低的成本筛选(
1 | hamFileNames = [entry.path for entry in os.scandir(r"train_data\ham") if entry.is_file()] |
如果您在3.4或更低版本上,您可能需要查看pypi
另请注意:我使用了一个原始字符串作为路径;虽然