【问题标题】:How to get path of selected files in a folder using python?如何使用python获取文件夹中选定文件的路径?
【发布时间】:2021-12-19 19:02:45
【问题描述】:

我正在使用glob 检索文件夹中所有文件的路径(“数据”):

import glob
import geopandas

for file in glob.glob(r"/home/data/*.txt"):
    sf = geopandas.read_file(file)

但是,在这里,我有兴趣知道如何仅检索名称在变量中作为列表列出的选定文件。例如,我只想要以下文件的路径:aaa.txt、bdf.txt、hgr.txt,在“data”文件夹中,它们在变量“imp”中列出。

imp = ['aaa.txt', 'bdf.txt', 'hgr.txt']

【问题讨论】:

  • 所以您基本上是在寻找r"/home/data/aaa.txt"r"/home/data/bdf.txt"r"/home/data/hgr.txt"?如果是,那你为什么需要glob
  • 实际上,必须从文件夹中的数千个文件中选择数百个此类感兴趣的文件,而不仅仅是三个。
  • 好的,那么您正在寻找像aaa.txt 这样的文件?是*aaa.txt 还是*aaa*.txt
  • 文件名不遵循任何模式。相反,我想读取名称可作为存储在变量“imp”中的列表的所有文件的路径。

标签: python glob


【解决方案1】:

像这样?

import geopandas

path = "/home/data/"
imp = [ 'aaa.txt', 'bdf.txt', 'hgr.txt']
for file in imp:
    if os.path.exists(path+file):
        sf = geopandas.read_file(path+file)

【讨论】:

    【解决方案2】:

    这样的事情可以做到。只需循环浏览您需要的文件。

    import geopandas
    
    imp = ['aaa.txt', 'bdf.txt', 'hgr.txt']
    for file in imp:
        sf = geopandas.read_file(f'/home/data/{file}')
    

    【讨论】:

    • 不幸的是,我无法编辑答案,因为它小于 6 个字符。您的报价符号在错误的位置。 f"/home/data/"{file}
    • @MSH 我能够修复它。
    • 对不起,我错了。
    猜你喜欢
    • 2010-10-14
    • 2013-06-08
    • 2017-11-03
    • 1970-01-01
    • 2017-03-01
    • 2011-05-08
    • 2020-12-19
    • 1970-01-01
    相关资源
    最近更新 更多