可以使用 osre 模块来实现修改指定目录下 .nfo 文件内容的代码。具体步骤如下:

  1. 使用 os 模块的 listdir 函数列出指定目录下的所有文件和文件夹。
  2. 遍历文件列表,如果是 .nfo 文件,则打开文件并读取内容。
  3. 使用 re 模块的 sub 函数替换第 9-11 行的内容。
  4. 关闭文件并保存修改后的内容。

代码实现如下:

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
***
Python 批量修改 .nfo 文件内容 - 将第 9-11 行内容替换为特定格式

原文地址: https://www.cveoy.top/t/topic/owHu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录