无法使用os.walk()访问子目录中的文件?

时间:2018-06-25 14:13:01

标签: python

以下是在子文件夹中打开shapefile的代码:

import geopandas

for root, dirs, files in os.walk(r'C:\Users\psiharis\Desktop\a'):
    for name in files:
        if name.endswith((".shp")):
            gpd.read_file(name)

它给出:

OSError: no such file or directory: 'uk.shp'

这意味着它还需要在目录中迈出一步才能工作。

想象一下: 主文件夹:

f1/uk/uk.shp

它的读数是:

f1/uk.shp

如何使其也插入包含.shp的uk文件夹?

我尝试了一下,但是没用:

import geopandas
for root, dirs, files in os.walk(r'C:\Users\psiharis\Desktop\a'):
    for name in files:
        if name.endswith((".shp")):
            gpd.read_file(name/name)# to put the extra folder with the same name

1 个答案:

答案 0 :(得分:0)

import geopandas
import os 
for root, dirs, files in os.walk(r'C:\Users\psiharis\Desktop\a'):
    for name in files:
        if name.endswith((".shp")):
            gpd.read_file(os.path.join(root, name))

这必须工作。