gpt4 book ai didi

Python 3.4 - 将文件名+行号添加到文件夹中的所有文件

转载 作者:行者123 更新时间:2023-11-28 19:14:30 24 4
gpt4 key购买 nike

我不是程序员,我一直在尽力使用 Python 3.4 创建一些小脚本,以帮助我完成不同的工作任务。

我有几个 .txt 文件,我需要在文件中的每一行附加:

  • 文件名
  • 文件名+行号
  • 将其保存为 UTF-8 csv,所有字段均以逗号分隔

我设法为一个特定文件执行此操作,但我很难为文件夹中的所有文件执行此操作。我试过 import glob 但没有成功。

这是现在的代码(一团糟......部分有效):

with open('Ruth.txt', 'r') as program:
data = program.readlines()

with open('Ruth.txt', 'w') as program:
for (number, line) in enumerate(data):
program.write('%d","%s' % (number + 1, line))
files = 'Ruth.txt'

all_lines = []
for f in files.split():
lines = open(f, 'r').readlines()
for line in lines:
all_lines.append('"' + f + '"' + ',' + '"' + f + line.strip() + '"')

fout = open(f + 'out.csv', 'w')
fout.write('\n'.join(all_lines))
fout.close()

最佳答案

试试这个:

import os

def add_numbers(filename):
with open(filename, 'r') as readfile:
data = readfile.readlines()
with open(filename, 'w') as writefile:
for i, line in enumerate(data):
writefile.write('%d. %s' % (i + 1, line))

for path, _, filenames in os.walk(folder):
for filename in filenames:
add_numbers(os.path.join(path, filename))

这将为目录中的每个文件和所有子目录中的每个文件添加编号。如果您不希望它检查所有子目录,请将 for 循环更改为:

path, _, filenames = next(os.walk(folder))
for filename in filenames:
add_numbers(os.path.join(path, filename))

关于Python 3.4 - 将文件名+行号添加到文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35413606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com