gpt4 book ai didi

python - 对文件列表的操作在几轮后失败

转载 作者:行者123 更新时间:2023-12-01 09:12:10 25 4
gpt4 key购买 nike

我目前正在尝试编写一个脚本来帮助我格式化视频脚本的简单txt,例如

1 00:00:00,000 --> 00:00:03,550 text1

2 00:00:03,550 --> 00:00:07,030 text2

到“文本1文本2”。我有 100 多个单独的文件,我正在尝试将它们全部写入一个文件中。

所以我写了这样的东西:

import re
import os

path = r'the full path of the directory'
f = open("video_script.txt", 'w')

for filename in os.listdir(path):
text = open(filename).read()

textblock = reduce(lambda x,y: x+y+' ', re.findall('([a-zA-z].*)\r', text))
newtext = textblock.replace('. ', '.\n')

f.write ('*'+filename+'*')
f.write ('\n')
f.write(newtext)
f.write('\n'*2)

f.close()

我成功获得了大约 30 个文件的代码 fun,然后出现了错误:

TypeError: reduce() of empty sequence with no initial value 

我对失败的测试运行了单独的测试,没有错误。感谢您的帮助。

最佳答案

您似乎想要匹配 ASCII 字母后除 CR 和 LF 之外的任何字符。 . 与 CR 符号匹配,在这种情况下没有帮助。您可以使用

re.findall('[a-zA-Z][^\r\n]+', text))

详细信息

  • [a-zA-Z] - ASCII 字母(要匹配任何 Unicode 字母,请使用 [^\W\d_])
  • [^\r\n]+ - 除 CR 和 LF 之外的一个或多个 (+) 字符 ([^...] 是一个否定字符类,匹配除字符类中定义的字符集/范围之外的任何字符。

关于python - 对文件列表的操作在几轮后失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51568224/

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