python :将文件夹下面的图片的名字导入到txt文件中

# -*- coding: utf-8 -*-
#将文件夹中图像的名字放在一个txt文件中
# 不知道为什么效果不是很好,到是也可以放进去,但是顺序不对

# P01 批量读取文件名,并将读取的文件名保存到指定路径下的txt中(带.*** 后缀)

import os
def ListFilesToTxt(dir, file, wildcard, recursion):
    exts = wildcard.split(" ")
    files = os.listdir(dir)
    for name in files:
        fullname = os.path.join(dir, name)
        if (os.path.isdir(fullname) & recursion):
            ListFilesToTxt(fullname, file, wildcard, recursion)
        else:
            for ext in exts:
                if (name.endswith(ext)):
                    file.write(name + "\n")
                    break

def ReadName():
    dir = "/home/robot/pictures/img_tracker"  # 读取文件路径
    outfile = "/home/robot/pictures/imgname.txt"                     # 将文件名写入Image.txt
    wildcard = ".png" # 读取jpg图片
    #   wildcard = ".jpg .txt .exe .dll .lib"      #要读取的文件类型;
    file = open(outfile, "w")
    if not file:
        print("cannot open the file %s for writing" % outfile)
    ListFilesToTxt(dir, file, wildcard, 1)
    file.close()

ReadName()

上面的程序在ubuntu下图片的名称在txt文件中是乱序的 ,

现在和上一篇文章中的按照原来文件中图片中的顺序重新命名,写了一个按照按照原来顺序将名称放入txt文件中

#- * - coding : utf - 8 - * -
import os
imgDirName = "/home/robot/pictures/img_tracker/"
txtDirName = "/home/robot/pictures/imgname.txt"

list_img_name = []
list_read_img = []
 
def delete_end_str(path,txtPath):
 
    filelist = os.listdir(path)
    txtfile = open(txtPath,"w")
    for filename in filelist:
        filename = path + filename
        list_img_name.append(filename)
 
        new_file_name = filename.split(".png")[0]
        list_read_img.append(new_file_name)
        list_read_img.sort()
 
    for i in range(len(list_read_img)):
        old_img_name =  list_read_img[i] + ".png"
        new_file_name = path +  str(i) + ".png"
        txt_img_name = str(i)+".png"
        os.rename(old_img_name, new_file_name)
        txtfile.write(txt_img_name + "\n")       

delete_end_str(imgDirName,txtDirName)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用 `os` 模块来读取文件夹文件名,并使用 `codecs` 模块来将文件名写入 txt 文件。 代码示例如下: ``` import os import codecs # 读取文件夹文件名 folder = '/path/to/folder' filenames = os.listdir(folder) # 将文件名写入 txt 文件 txt_file = '/path/to/file.txt' with codecs.open(txt_file, 'w', 'utf-8') as f: for filename in filenames: f.write(filename + '\n') ``` 在这个示例文件夹的路径存储在 `folder` 变量txt 文件的路径存储在 `txt_file` 变量。你需要将这些变量替换为你自己的路径。 ### 回答2: 使用Python可以轻松地读取文件夹的所有文件名,并将其存入一个文本文件。以下是一个实现此功能的示例代码: ```python import os def get_all_filenames(folder_path): filenames = [] for root, dirs, files in os.walk(folder_path): for file in files: filenames.append(file) return filenames def save_filenames_to_txt(filenames, output_path): with open(output_path, 'w') as file: for filename in filenames: file.write(filename + "\n") if __name__ == "__main__": folder_path = "/path/to/folder" # 文件夹的路径 output_path = "/path/to/output.txt" # 输出文件的路径 filenames = get_all_filenames(folder_path) save_filenames_to_txt(filenames, output_path) ``` 在上面的代码,`get_all_filenames`函数用于获取文件夹的所有文件名,使用了`os.walk`函数遍历文件夹下的所有文件。`save_filenames_to_txt`函数则将文件名保存到指定的txt文件,使用了`open`函数以及文件对象的`write`方法。 在主程序,你需要将`folder_path`和`output_path`替换为实际的文件夹路径和文本文件路径。然后运行该程序,它将读取文件夹所有文件文件名,并将它们存储在指定的文本文件。 ### 回答3: 可以使用Python的os模块来实现读取文件夹所有文件名字的功能,并将其存入txt文件。 首先,导入os模块: import os 接下来,定义一个函数,该函数接收文件夹路径作为参数,并将文件夹所有文件名字存入txt文件: def save_file_names(folder_path): # 获取文件夹所有文件名字 file_names = os.listdir(folder_path) # 打开txt文件,使用'w'模式以覆盖方式写入数据 with open('file_names.txt', 'w') as file: # 遍历所有文件名字,并写入txt文件 for name in file_names: file.write(name + '\n') 最后,调用该函数并传入文件夹路径进行测试: folder_path = '/path/to/folder' # 替换为自己的文件夹路径 save_file_names(folder_path) 执行完成后,会在当前目录生成一个名为file_names.txttxt文件,该文件包含了文件夹所有文件名字,每个名字占一行。 注意:需要将'/path/to/folder'替换为实际的文件夹路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值