Python 批量修改 .nfo 文件内容 - 将第 9-11 行内容替换为特定格式
可以使用 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/'
# 定义需要修改的目录
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)
测试 .nfo 文件原内容:
盱: 瞧不
更进一步: 2011-05-20
地下城一: 123
天干城: -
在: 一二三城
一二三城: 在
+++Fanza: 6000 = 5744 + 256, 3000 = 2872 + 128+++
+++Min/Gb=23.5~24.5, Min/Gb=47~48, 23.976, 29.97, 30.00, 7000/59.94+++
***
[COVER](https://imagetwist.com/16lahx82t88t/测试.jpg) / [SCREEN](https://imagetwist.com/nkoctef3mmgh/测试1.jpg)
***
修改后的 .nfo 文件内容:
盱: 瞧不
更进一步: 2011-05-20
地下城一: 123
天干城: -
在: 一二三城
一二三城: 在
+++Fanza: 6000 = 5744 + 256, 3000 = 2872 + 128+++
+++Min/Gb=23.5~24.5, Min/Gb=47~48, 23.976, 29.97, 30.00, 7000/59.94+++
***
[COVER] / [SCREEN]
https://s10.imagetwist.com/th/56520/测试.jpg
https://imagetwist.com/nkoctef3mmgh/测试1.jpg
***
原文地址: https://www.cveoy.top/t/topic/owHu 著作权归作者所有。请勿转载和采集!