python读取文件名并排序后写入txt中

Annotations里面的文件如下一共111个,注意查看隐藏文件, 可能存在".Ds_Store"文件,我们不需要它.

python读取文件名并排序后写入txt中

目标: 读取不需要后缀的文件名,并写入txt文件中

如下:

python读取文件名并排序后写入txt中

方法一

使用os.listdir方法之后获取整个文件名之后使用split()方法去除后缀名

code:

import os

file_path = "Annotations"
# os.listdir(file)会历遍文件夹内的文件并返回一个列表
path_list = os.listdir(file_path)
# print(path_list)
# 定义一个空列表,我不需要path_list中的后缀名
path_name=[]
# 利用循环历遍path_list列表并且利用split去掉后缀名
for i in path_list:
    path_name.append(i.split(".")[0])

# 排序一下
path_name.sort()

for file_name in path_name:
    # "a"表示以不覆盖的形式写入到文件中,当前文件夹如果没有"save.txt"会自动创建
    with open("save.txt","a") as f:
        f.write(file_name + "\n")
        # print(file_name)
    f.close()

output:

(print(file_name)

python读取文件名并排序后写入txt中

参考链接:点击打开链接

方法二:

split()方法固然可以取出不需要后缀的文件名,但是对于后缀名一样的文件我们还可以在os.listdir方法后使用切片操作直接获取不需要后缀的文件名

code(同上):

只需将split()操作

for i in path_list:
    path_name.append(i.split(".")[0])

换成切片操作即可(倒数4个是".xml")

for i in path_list:
    path_name.append(i[:-4])

The end.