python将目录下所有文件名写入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)):
                    (filename,extension) = os.path.splitext(name)
                    file.write(filename + " " + "depth/" + name + "\n")
                    break
def Test():
  dir="/home/david/workspace/bags/depth"
  outfile="/home/david/workspace/bags/depth.txt"
  wildcard = ".png .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()
Test()

另外还可以利用:(使用os.walk) walk递归地对目录及子目录处理,每次返回的三项分别为:当前递归的目录,当前递归的目录下的所有子目录,当前递归的目录下的所有文件。

代码如下:

import os
def ListFilesToTxt(dir,file,wildcard,recursion):
    exts = wildcard.split(" ")
    for root, subdirs, files in os.walk(dir):
        for name in files:
            for ext in exts:
                if(name.endswith(ext)):
                    file.write(name + "\n")
                    break
        if(not recursion):
            break
def Test():
  dir="J:\\1"
  outfile="binaries.txt"
  wildcard = ".txt .exe .dll .lib"

  file = open(outfile,"w")
  if not file:
    print ("cannot open the file %s for writing" % outfile)
  ListFilesToTxt(dir,file,wildcard, 0)

  file.close()
Test()

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python的os模块和shutil模块来实现。 首先,使用os.listdir()函数获取文件夹下的所有文件名。然后使用with open()函数将文件名写入txt文件。 代码示例: ``` import os folder_path = '文件夹路径' file_list = os.listdir(folder_path) with open('文件名.txt', 'w') as file: for file_name in file_list: file.write(file_name + '\n') ``` 若要在txt文件创建超链接,可以在写入文件名时使用格式化字符串,在文件名前加上超链接的html标签。 代码示例: ``` import os folder_path = '文件夹路径' file_list = os.listdir(folder_path) with open('文件名.txt', 'w') as file: for file_name in file_list: file.write('<a href="{}">{}</a>\n'.format(os.path.join(folder_path, file_name), file_name)) ``` 这样txt文件文件名就会以超链接的形式出现。 ### 回答2: 要实现将文件夹下的文件名写入txt文件并创建超链接,可以使用Python的os模块和HTML标签。 首先,导入os模块并使用os.listdir()函数获取文件夹下的所有文件名。然后,使用open()函数创建一个txt文件,并使用文件对象的write()方法将文件名写入txt文件。 接着,使用HTML标签创建超链接。在每个文件名前添加<a>标签,设置href属性为文件的路径,将文件名作为链接文本。最后,在每个文件名后添加</a>标签来关闭超链接。 下面是示例代码: ```python import os folder_path = '文件夹路径' # 替换为你的文件夹路径 txt_path = '输出txt文件路径' # 替换为你的输出txt文件路径 file_names = os.listdir(folder_path) with open(txt_path, 'w') as txt_file: for file_name in file_names: file_path = os.path.join(folder_path, file_name) txt_file.write('<a href="{0}">{1}</a>\n'.format(file_path, file_name)) ``` 请将`文件夹路径`和`输出txt文件路径`替换为你的实际路径。运行以上代码后,指定路径下的文件名将被写入txt文件,并且每个文件名都会以超链接的形式展示。 ### 回答3: 要实现将文件夹下的文件名写入txt文件,并创建超链接,可以使用Python的os和re模块来处理文件夹和文件名的操作。 首先,我们需要使用os模块的listdir()函数来获取文件夹下的所有文件名,然后使用re模块的search()函数来提取文件名的扩展名。 接下来,我们可以使用Python的open()函数打开一个txt文件,并利用循环遍历文件名列表,将每个文件名写入txt文件。在写入文件名之前,我们可以根据文件名的扩展名动态地创建相应的超链接格式。 下面是一个实现这个功能的Python代码示例: ```python import os import re folder_path = "文件夹路径" txt_file_path = "输出的txt文件路径" file_names = os.listdir(folder_path) with open(txt_file_path, "w") as file: file.write("<html>") file.write("<body>") for name in file_names: ext = re.search(r'\.(.+)', name) if ext: ext = ext.group(1) file.write(f"<a href='{name}'>{name}</a><br>") else: file.write(f"{name}<br>") file.write("</body>") file.write("</html>") ``` 上述代码,只需将"文件夹路径"替换为你想要处理的文件夹的路径,将"输出的txt文件路径"替换为你想要输出的txt文件的路径,运行代码后,会在指定路径下生成一个txt文件,其包含文件夹下所有文件的名称,并为每个文件名创建了超链接。 需要注意的是,上述代码创建的是一个简单的HTML文件,如果需要在txt文件创建超链接,建议使用HTML或其他文本编辑器来打开该txt文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值