代码逻辑先删除第9行和第11行然后再改原第10行执行删除后现在是第9行了的格式注意:测试只是例子内容是随机的 可能是各种语言需要用python写一个修改指定目录下nfo文件内容的代码nfo文件内容的格式是固定的要修改的是第9-11行的内容测试只是例子内容是随机的下面我会提供一个nfo文件做为测试原第9-11行的内容测试只是例子内容是随机的:COVERhttpsimagetwistcom16lahx
可以使用os和re模块来实现修改指定目录下.nfo文件内容的代码。具体步骤如下:
- 使用os模块的listdir函数列出指定目录下的所有文件和文件夹。
- 遍历文件列表,如果是.nfo文件,则打开文件并读取内容。
- 使用re模块的sub函数替换第9-11行的内容。
- 关闭文件并保存修改后的内容。
代码实现如下:
import os
import re
# 定义需要修改的行数
start_line = 9
end_line = 11
# 定义正则表达式
cover_pattern = r'\[COVER\]\((.*?)\)'
screen_pattern = r'\[SCREEN\]\((.*?)\)'
# 定义替换后的内容
new_cover = r'[COVER]'
new_screen = r'[SCREEN]'
new_link = r'https://s10.imagetwist.com/th/56520/\1'
# 定义需要修改的目录
dir_path = './test/'
# 列出目录下的所有文件和文件夹
file_list = os.listdir(dir_path)
# 遍历文件列表
for filename in file_list:
# 判断是否是.nfo文件
if filename.endswith('.nfo'):
# 打开文件并读取内容
with open(dir_path + filename, 'r', encoding='utf-8') as f:
lines = f.readlines()
# 替换第9-11行的内容
for i in range(start_line-1, end_line):
if 'COVER' in lines[i]:
lines[i] = re.sub(cover_pattern, new_cover, lines[i])
elif 'SCREEN' in lines[i]:
lines[i] = re.sub(screen_pattern, new_screen, lines[i])
elif 'imagetwist' in lines[i]:
lines[i] = re.sub(cover_pattern, new_link, lines[i])
# 关闭文件并保存修改后的内容
with open(dir_path + filename, 'w', encoding='utf-8') as f:
f.writelines(lines)
``
原文地址: https://www.cveoy.top/t/topic/gB2a 著作权归作者所有。请勿转载和采集!