python遍历下一级目录
时间: 2023-08-04 18:11:38 浏览: 102
可以使用Python的os模块来遍历下一级目录。os模块中的listdir函数可以列出指定路径下的所有文件和目录,可以使用os.path.join函数来拼接路径,判断是否是目录可以使用os.path.isdir函数。
下面是一个示例代码,可以遍历指定目录下的所有子目录和文件:
``` python
import os
def traverse_dir(path):
for file_name in os.listdir(path):
abs_path = os.path.join(path, file_name)
if os.path.isdir(abs_path):
traverse_dir(abs_path)
else:
print(abs_path)
# 遍历当前目录下的所有子目录和文件
traverse_dir('.')
```
在上述代码中,我们定义了一个名为`traverse_dir`的函数,该函数接受一个路径参数`path`。在函数中,我们通过`os.listdir`函数列出指定路径下的所有文件和目录,并使用`os.path.join`函数拼接路径。接着,我们判断该路径是否是一个目录,如果是则递归调用`traverse_dir`函数来继续遍历该目录的子目录和文件;如果不是,则打印该文件的绝对路径。最后,我们调用`traverse_dir`函数,传入当前目录作为路径参数,来遍历当前目录下的所有子目录和文件。
相关问题
python代码,写一段代码 总共有二级文件夹,一级文件夹里面有二级文件夹,遍历所有二级文件,循环从所有二级文件里各取一个移动到新建的文件夹里,每次循环新建一个文件夹
好的,以下是Python代码实现您要求的功能:
```python
import os
import shutil
# 设置要遍历的文件夹根目录
root_folder = "/path/to/root/folder"
# 遍历所有二级文件夹并将其添加到一个列表中
all_subfolders = []
for (dirpath, dirnames, filenames) in os.walk(root_folder):
if dirpath != root_folder: # 排除根目录
all_subfolders.append(dirpath)
# 循环遍历所有的二级文件夹,并从中各取一个文件移动到新建文件夹中
for i in range(len(all_subfolders)):
for j in range(i+1, len(all_subfolders)):
folder_name = "Folder_{}_{}".format(i+1, j+1) # 每次循环新建一个文件夹
os.mkdir(folder_name)
shutil.move(os.path.join(all_subfolders[i], os.listdir(all_subfolders[i])[0]), folder_name)
shutil.move(os.path.join(all_subfolders[j], os.listdir(all_subfolders[j])[0]), folder_name)
```
该代码会遍历指定根目录下所有的二级文件夹,并将其中的一个文件从每个二级文件夹中取出,移动到新建的以遍历顺序为标志的文件夹中。每次循环都会新建一个文件夹。请注意将`/path/to/root/folder`替换为您实际需要遍历的文件夹的路径。
阅读全文