遍历 目录下的文件,获得文件名
时间: 2023-04-02 17:01:57 浏览: 120
你可以使用 opendir()、readdir() 和 closedir() 函数来遍历目录下的文件,并使用 struct dirent 结构体来获取文件名。具体实现可以参考以下代码:
```
#include <stdio.h>
#include <dirent.h>
int main() {
DIR *dir;
struct dirent *ent;
if ((dir = opendir(".")) != NULL) {
while ((ent = readdir(dir)) != NULL) {
if (ent->d_type == DT_REG) { // 判断是否为普通文件
printf("%s\n", ent->d_name);
}
}
closedir(dir);
} else {
perror("");
return 1;
}
return ;
}
```
相关问题
遍历 目录下的文件,获得文件名 用python
你可以使用 Python 的 os 模块来遍历目录下的文件,并使用 os.path.basename() 函数来获取文件名。以下是示例代码:
```python
import os
# 目录路径
dir_path = "/path/to/directory"
# 遍历目录下的文件
for filename in os.listdir(dir_path):
# 获取文件名
file_name = os.path.basename(filename)
print(file_name)
```
注意,你需要将 `dir_path` 替换为你要遍历的目录的路径。
用python遍历文件夹,找出文件名相同的txt文件
可以使用os模块和glob模块来实现。
```python
import os
import glob
folder_path = "path/to/folder" # 文件夹路径
txt_files = glob.glob(os.path.join(folder_path, "*.txt")) # 获取所有txt文件的路径
# 创建一个字典,以文件名为键,文件路径列表为值
file_dict = {}
for file_path in txt_files:
file_name = os.path.basename(file_path)
if file_name in file_dict:
file_dict[file_name].append(file_path)
else:
file_dict[file_name] = [file_path]
# 遍历字典,找出文件名相同的txt文件
for file_name, file_paths in file_dict.items():
if len(file_paths) > 1:
print("文件名相同的txt文件:", file_name)
for file_path in file_paths:
print(" ", file_path)
```
首先使用glob.glob函数获取所有txt文件的路径,然后遍历文件路径列表,将文件名作为键,将文件路径添加到值列表中,最终得到一个字典,以文件名为键,文件路径列表为值。
然后遍历字典,找出文件名相同的txt文件,输出文件名和文件路径列表。
阅读全文