python 读取文件夹下的所有文件并处理重新分类写入

 
import os
import sys
import io
import time
# sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码
def read():
    path = r"C:\Users\mzj\Desktop\高精准"# 文件夹目录
    for i in os.listdir(path):
        try:
            for q in os.listdir(os.path.join(path,i)):
                paths=os.path.join(path,i,q)
                f = open(paths, "r", encoding="UTF-8")
                lines = f.readlines()
                f.close()
                url = os.path.basename(paths)
                li = url.split('_')
                temp_lines_list = [x.strip() for x in lines]
                # print(temp_lines_list)
                if len(temp_lines_list) < 2:
                    # 行数不够,不进行处理
                    print('行数太短了。。。。。。')
                # #去掉空行
                for t in temp_lines_list:
                    download_file_path = r'C:\Users\mzj\Desktop'
                    now_title = t.split("|")
                    while now_title:
                        if now_title[8] == 'ztb':
                            download_path = os.path.join(download_file_path, now_title[8])
                            if not os.path.exists(download_path):
                                os.mkdir(download_path)
                            time_path = os.path.join(download_path, str(li[0][:4] + '-' + li[0][4:6] + '-' + li[0][6:8]))
                            if not os.path.exists(time_path):
                                os.mkdir(time_path)
                            urls = time_path + '/' + str(
                                li[0] + '_' + li[1] + '_' + str(now_title[8]) + '_' + li[3] + '_' + li[4])
                            with open(urls, 'a', encoding='utf-8')as f:
                                f.write(t + '\n')
                            break
                        else:
                            break
        except Exception as e:
            # 文件读取失败
            print(e)
        #去掉\n
if __name__=='__main__':
    read()

 

import os
path=r'C:\Users\mzj\Desktop\city\city\out'
for i in os.listdir(path):
    with open(os.path.join(path,i),'r',encoding='utf-8')as r:
        for w in r.readlines():
            with open(r'C:\Users\mzj\Desktop\city\city\two.out','a+',encoding='utf-8')as f:
                f.write(w)
    os.remove(os.path.join(path,i))
    print('写入成功{},删除成功{}'.format(os.path.join(path,i),os.path.join(path,i)))

 

### 回答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.txt的txt文件,该文件中包含了文件夹中所有文件的名字,每个名字占一行。 注意:需要将'/path/to/folder'替换为实际的文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值