用python编写一个程序,列出一个目录里的所有文件,包含子目录。
时间: 2024-02-03 18:11:51 浏览: 38
可以使用os模块和递归函数来实现列出一个目录里的所有文件,包含子目录。
以下是示例代码:
```python
import os
def list_files(path):
# 遍历目录
for root, dirs, files in os.walk(path):
# 输出文件名
for file in files:
print(os.path.join(root, file))
# 以当前目录为例
list_files('.')
```
在这个代码中,os.walk函数可以递归地遍历指定的目录,返回一个三元组,分别是当前目录路径、子目录列表和文件列表。我们可以循环遍历该三元组,输出文件名。
相关问题
2.编写一个程序,列出某个目录里所有子目录的名称,以及所有文件的名字和大小(以Kbyte为单位)。
以下是 Python 代码实现:
```python
import os
def get_size(path):
"""
获取文件大小
"""
size = os.path.getsize(path)
return size / 1024
def list_files(path):
"""
列出所有文件和子目录
"""
for root, dirs, files in os.walk(path):
for name in files:
file_path = os.path.join(root, name)
print(f"文件:{file_path},大小:{get_size(file_path)} KB")
for name in dirs:
dir_path = os.path.join(root, name)
print(f"目录:{dir_path}")
# 测试
list_files("/path/to/directory")
```
此代码会遍历指定目录下的所有文件和子目录,并输出文件名、大小和目录名。其中 `get_size` 函数用于获取文件大小,`list_files` 函数用于列出所有文件和子目录。
用python编写代码,创建一个程序,要求用户输入一个文件夹路径,程序需要列出该文件夹下的所有文件和文件夹。写出注释和思路
注释版代码如下:
```python
# 引入os模块,用于操作文件系统
import os
# 定义函数,用于列出指定路径下的所有文件和子目录
def list_files(path):
# 获取指定路径下的所有文件和子目录,返回一个列表
files = os.listdir(path)
# 遍历列表中的每个文件/子目录,输出名称
for f in files:
print(f)
# 在主程序中获取用户输入的路径,并调用list_files函数进行处理
if __name__ == '__main__':
path = input("请输入文件夹路径:")
list_files(path)
```
思路如下:
1. 引入os模块,用于操作文件系统;
2. 定义一个list_files函数,用于列出指定路径下的所有文件和子目录:
- 使用os.listdir()方法获取指定路径下的所有文件和子目录,并返回一个列表;
- 遍历列表中的每个文件/子目录,输出名称;
3. 在主程序中获取用户输入的路径,并调用list_files函数进行处理。