如何获取文件路径+文件名到列表中?

这个问题在这里已经有了答案:

  • 如何列出目录的所有文件? 31个答案

  • 由于您可以访问目录路径,因此您可以执行以下操作:

    dir = "train_dataham"
    output = map(lambda p: os.path.join(dir, p), os.listdir(dir))
    

    或更简单

    output = [os.path.join(dir, p) for p in os.listdir(dir)]
    

    os.path.join会将你的目录路径加入其中的文件名。


    如果您使用的是Python 3.5或更高版本,请跳过os.listdir以支持os.scandir ,这会更有效,并为您工作( path是结果对象的属性):

    hamFileNames = [entry.path for entry in os.scandir(r"train_dataham")]
    

    这也可以让你便宜地过滤( scandir包括一些免费的文件信息,不需要stat文件),例如只保留文件(没有目录或特殊的文件系统对象):

    hamFileNames = [entry.path for entry in os.scandir(r"train_dataham") if entry.is_file()]
    

    如果你在3.4或更低版本,你可能想看看PyPI scandir模块(它在早期的Python上提供了相同的API)。

    另请注意:我使用了一个原始字符串作为路径; 而h恰好在没有它的情况下工作,您应该始终使用原始字符串作为Windows路径文本,否则当您尝试使用"train_datafoo" (其中f是ASCII换页字符)时会遇到令人讨厌的冲击,而r"train_datafoo"工作得很好(因为r前缀可以防止除引号字符之外的任何内容的反斜线插值)。

    链接地址: http://www.djcxy.com/p/20055.html

    上一篇: How to get file path + file name into a list?

    下一篇: How can I automatically open all text files in a given folder?