gpt4 book ai didi

python - 读取、编辑和写入文本文件中的每 4 行

转载 作者:太空狗 更新时间:2023-10-30 01:25:37 25 4
gpt4 key购买 nike

长期读者第一次提问。

我正在处理一些需要编辑时间戳的 vtt(隐藏式字幕)文件。文件格式如下:

177
00:07:37.450 --> 00:07:39.690
- [Liz] How would you suggest an organization devise

178
00:07:39.690 --> 00:07:41.719
the accountabilities for culture?

179
00:07:41.719 --> 00:07:43.690
- [Tamara] It is a shared accountability

我编写了以下代码来读取文件、计算新时间戳(慢 5%)并输出新时间戳:

from sys import argv
script, filename = argv

adjustment = input("Adjustment multiplier: ")

video = open(filename, "r+")
lines = video.readlines()

video.seek(0)

for l in lines:
if l[:2] == "00":
#here I've omitted a lot of calculations to turn the timestamps
#into milliseconds, apply the adjustment multiplier, and turn them back into
#minutes, seconds, and milliseconds.

new_line = str(#concatenation of new values into timestamp format)
video.write(new_line)

video.close()

计算效果很好,但问题是它会将所有新行转储到文件的开头,而不是覆盖每个时间戳行并跳过其余行。

我很想听听你们的想法!我已经为此苦苦挣扎了一段时间,并尝试了很多方法,但还没有完全成功。

谢谢!

最佳答案

你可以试试enumerate在迭代时,然后执行相同的过程:

# Reading code here ...

for index, line in enumerate(lines):
if index % 4 == 0:
# Your code here ...

希望对你有帮助:)

关于python - 读取、编辑和写入文本文件中的每 4 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50352481/

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