请给出一段python 程序,获取当前路径下所有的文件夹名及文件名,若是文件夹,则继续递归,直到获取所有的文件夹及文件路径
时间: 2023-08-17 07:04:24 浏览: 81
好的,以下是一个获取当前路径下所有文件夹名及文件名的 Python 程序,包括了递归获取所有文件夹及文件路径的功能:
```python
import os
def get_files(path):
files = []
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
files.extend(get_files(file_path))
else:
files.append(file_path)
return files
if __name__ == '__main__':
path = '.' # 当前路径
files = get_files(path)
for file in files:
print(file)
```
此程序会打印出当前路径下所有文件夹及文件路径,包括递归获取的。
相关问题
Python 实现获取文件夹下所有文件名,包括子文件下的文件名,并保存到txt
可以使用递归实现获取文件夹下所有文件名,并将结果保存到txt文件中。
以下是一个示例代码:
```python
import os
def get_all_files(path):
result = []
for root, dirs, files in os.walk(path):
for file in files:
result.append(os.path.join(root, file))
return result
all_files = get_all_files('/path/to/folder')
with open('file_list.txt', 'w') as f:
for file in all_files:
f.write(file + '\n')
```
这段代码中,`get_all_files`函数使用`os.walk`遍历指定路径下的所有文件和文件夹,并将文件名存储在列表`result`中。最后,将`result`列表中的文件名逐行写入到`file_list.txt`文件中。
写一个读取文件夹下所有文件名的python代码,注意文件夹下还有子文件夹
### 回答1:
可以使用 Python 的 os 模块来读取文件夹下的文件名。
首先,需要导入 os 模块:
```python
import os
```
然后,可以使用 os.listdir() 函数来获取文件夹下的文件名列表:
```python
# 获取文件夹 "folder" 下的文件名列表
filenames = os.listdir('folder')
```
如果要读取子文件夹下的文件名,可以使用 os.walk() 函数来遍历整个文件夹和子文件夹:
```python
# 遍历文件夹 "folder" 和它的子文件夹
for root, dirs, files in os.walk('folder'):
# 输出文件名列表
print(files)
```
这样就可以得到文件夹下所有文件名的列表了。
示例代码:
```python
import os
# 遍历文件夹 "folder" 和它的子文件夹
for root, dirs, files in os.walk('folder'):
# 输出文件名列表
print(files)
```
### 回答2:
可以使用os模块和os.walk()函数来实现读取文件夹下所有文件名的功能。具体实现代码如下:
```python
import os
def get_all_filenames(folder_path):
filenames = [] # 存储所有文件名的列表
for folder_name, subfolders, files in os.walk(folder_path):
for file_name in files:
filenames.append(os.path.join(folder_name, file_name)) # 将文件名添加到列表中
return filenames
# 调用函数并传入文件夹路径
folder_path = "your_folder_path" # 替换为你的文件夹路径
all_filenames = get_all_filenames(folder_path)
# 打印所有文件名
for file in all_filenames:
print(file)
```
上述代码中,首先定义了一个函数`get_all_filenames()`,该函数接受一个文件夹路径作为参数,使用`os.walk()`函数遍历文件夹及其子文件夹,返回三个值:文件夹路径、子文件夹列表和文件列表。然后,遍历文件列表,将每个文件名结合其所在文件夹路径使用`os.path.join()`函数拼接起来,并添加到`filenames`列表中。最后,返回所有文件名的列表。
在主程序中,将文件夹路径替换为你的实际文件夹路径,并调用`get_all_filenames()`函数获取该文件夹下的所有文件名。最后,使用`print()`函数打印所有文件名。
### 回答3:
要读取一个文件夹下的所有文件名,包括子文件夹里的文件名,可以使用递归的方式来实现。以下是一个使用Python代码实现的例子:
```python
import os
def get_file_names(folder_path):
file_names = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_names.append(os.path.join(root, file))
return file_names
folder_path = '/path/to/folder' # 替换为实际的文件夹路径
files = get_file_names(folder_path)
for file in files:
print(file)
```
运行这段代码时,将`/path/to/folder`替换为实际的文件夹路径。`os.walk()`函数会遍历文件夹下的所有子文件夹,并返回每个子文件夹的路径(`root`)、子文件夹列表(`dirs`)和文件列表(`files`)。通过遍历`files`列表,我们可以得到每个文件的绝对路径,并存储在`file_names`列表中。最后,我们可以遍历`file_names`列表,打印出所有文件的绝对路径。
阅读全文