使用python同时遍历两个文件夹下的子文件夹
时间: 2023-08-03 16:08:48 浏览: 67
可以使用Python的os模块和os.walk()函数来同时遍历两个文件夹下的子文件夹。以下是示例代码:
```python
import os
# 两个文件夹路径
folder_path1 = '/path/to/folder1'
folder_path2 = '/path/to/folder2'
# 遍历两个文件夹下的子文件夹
for root, dirs, files in os.walk(folder_path1):
for dir in dirs:
subfolder_path = os.path.join(root, dir)
print(subfolder_path)
for root, dirs, files in os.walk(folder_path2):
for dir in dirs:
subfolder_path = os.path.join(root, dir)
print(subfolder_path)
```
以上代码可以遍历`folder_path1`和`folder_path2`下的所有子文件夹,并输出子文件夹路径。需要替换`folder_path1`和`folder_path2`为实际的文件夹路径。
相关问题
python 遍历文件夹下的shp新增两个字段
在Python中遍历文件夹下的.shp文件,并为每个.shp文件新增两个字段的操作可以通过使用`geopandas`库和循环遍历实现。
首先,需要安装`geopandas`库,可以使用以下命令进行安装:
```python
pip install geopandas
```
然后,下面是用Python遍历文件夹下的.shp文件并新增两个字段的代码示例:
```python
import geopandas as gpd
import os
folder_path = "文件夹路径" # 文件夹路径
new_field1 = "字段1" # 新增字段1的名称
new_field2 = "字段2" # 新增字段2的名称
# 遍历文件夹下的.shp文件
for file_name in os.listdir(folder_path):
if file_name.endswith(".shp"):
shp_path = os.path.join(folder_path, file_name)
# 读取.shp文件为GeoDataFrame
gdf = gpd.read_file(shp_path)
# 新增两个字段并赋初值
gdf[new_field1] = None
gdf[new_field2] = None
# 保存修改后的GeoDataFrame至.shp文件
gdf.to_file(shp_path)
```
在上述代码中,需要将"文件夹路径"替换为实际的文件夹路径,并将"字段1"和"字段2"替换为需要新增的字段名称。代码会遍历文件夹下的所有.shp文件,读取每个.shp文件为GeoDataFrame,然后为每个GeoDataFrame新增两个字段,并将修改后的GeoDataFrame保存至原文件。
需要注意的是,要确保.shp文件的属性表中不存在与新增字段名称相同的字段,否则会导致错误。如果.shp文件中已存在需要新增的字段,可使用相关方法进行字段重命名或删除原有字段后再新增。
遍历一个文件夹,文件夹里面有两个文件夹,每个子文夹里面有文件txt文档,我要遍历每个子文件,python
可以使用Python的os模块来遍历文件夹及其子文件夹中的文件。以下是示例代码:
```python
import os
# 遍历文件夹及其子文件夹中的文件
def traverse_folder(folder_path):
for root, dirs, files in os.walk(folder_path):
for file in files:
# 判断文件是否为txt文件
if file.endswith('.txt'):
file_path = os.path.join(root, file)
# 处理txt文件,可以在这里添加自己的处理逻辑
print(file_path)
# 测试
folder_path = '/path/to/parent/folder'
traverse_folder(folder_path)
```
其中,os.walk()方法可以遍历指定文件夹及其子文件夹中的所有文件。遍历过程中,会依次返回当前文件夹的路径、子文件夹列表和文件列表。通过循环遍历文件列表,可以得到每个文件的路径,再根据文件扩展名判断是否为txt文件。如果是txt文件,可以进行自定义的处理逻辑。