【发布时间】:2020-06-17 23:33:44
【问题描述】:
我对 Python 完全陌生,目前我正在努力为大多数人提供一个“简单”的步骤。
我的目标是将行从一个源文件复制并粘贴到目标文件。 但。目标文件应保留其前 12 行。在 12 行之后,它应该从源文件中获取所有行。到目前为止效果很好。我只需要为最后一部分设置线条。
所以我必须在目标文件中为你找到的每一行添加一个循环,就像 " 替换它)
config_fstab = '# /etc/fstab: static file system information.'
einhaengepunkte_replace = '#Eigene_Einhaengepunkte'
with open(r'C:\Users\sample\Desktop\SCRIPTING02.txt') as input_header_stays:
with open(r'C:\Users\sample\Desktop\ZWISCHENSPEICHER.txt','w') as zwischenspeicher:
zeilen = input_header_stays.readlines()
for i, line in enumerate(zeilen):
if line.startswith(config_fstab):
zwischenspeicher.write(line)
zwischenspeicher.write(zeilen[i + 1])
zwischenspeicher.write(zeilen[i + 2])
zwischenspeicher.write(zeilen[i + 3])
zwischenspeicher.write(zeilen[i + 4])
zwischenspeicher.write(zeilen[i + 5])
zwischenspeicher.write(zeilen[i + 6])
zwischenspeicher.write(zeilen[i + 7])
zwischenspeicher.write(zeilen[i + 8])
zwischenspeicher.write(zeilen[i + 9])
zwischenspeicher.write(zeilen[i + 10])
zwischenspeicher.write(zeilen[i + 11])
zwischenspeicher.write(zeilen[i + 12])
input_header_stays.close()
zwischenspeicher.close()
with open(r'C:\Users\sample\Desktop\SCRIPTING.txt') as input_scripting_fstab:
with open(r'C:\Users\sample\Desktop\ZWISCHENSPEICHER.txt','a') as zwischenspeicher:
zeilen = input_scripting_fstab.readlines()
for i, line in enumerate(zeilen):
if line.startswith(einhaengepunkte_replace):
zwischenspeicher.write(line)
zwischenspeicher.write(zeilen[i + 1])
zwischenspeicher.write(zeilen[i + 2])
zwischenspeicher.write(zeilen[i + 3])
zwischenspeicher.write(zeilen[i + 4])
zwischenspeicher.write(zeilen[i + 5])
zwischenspeicher.write(zeilen[i + 6])
zwischenspeicher.write(zeilen[i + 7])
zwischenspeicher.write(zeilen[i + 8])
zwischenspeicher.write(zeilen[i + 9])
zwischenspeicher.write(zeilen[i + 10])
zwischenspeicher.write(zeilen[i + 11])
zwischenspeicher.write(zeilen[i + 12])
zwischenspeicher.write(zeilen[i + 13])
zwischenspeicher.write(zeilen[i + 14])
zwischenspeicher.write(zeilen[i + 15])
zwischenspeicher.write(zeilen[i + 16])
input_scripting_fstab.close()
zwischenspeicher.close()
这是我的代码。
我认为我需要帮助的棘手部分是这个:
with open(r'C:\Users\sample\Desktop\SCRIPTING.txt') as input_scripting_fstab:
with open(r'C:\Users\sample\Desktop\ZWISCHENSPEICHER.txt','a') as zwischenspeicher:
zeilen = input_scripting_fstab.readlines()
for i, line in enumerate(zeilen):
if line.startswith(einhaengepunkte_replace):
zwischenspeicher.write(line)
zwischenspeicher.write(zeilen[i + 1])
zwischenspeicher.write(zeilen[i + 2])
zwischenspeicher.write(zeilen[i + 3])
zwischenspeicher.write(zeilen[i + 4])
zwischenspeicher.write(zeilen[i + 5])
zwischenspeicher.write(zeilen[i + 6])
zwischenspeicher.write(zeilen[i + 7])
zwischenspeicher.write(zeilen[i + 8])
zwischenspeicher.write(zeilen[i + 9])
zwischenspeicher.write(zeilen[i + 10])
zwischenspeicher.write(zeilen[i + 11])
zwischenspeicher.write(zeilen[i + 12])
zwischenspeicher.write(zeilen[i + 13])
zwischenspeicher.write(zeilen[i + 14])
zwischenspeicher.write(zeilen[i + 15])
zwischenspeicher.write(zeilen[i + 16])
台词越来越多,我一个人插不进去。这就是我的 Python 脚本需要大脑的地方。
【问题讨论】:
-
您无需执行
file.close(),因为您已经在使用with open("...") as file:。这会在您取消缩进后自动关闭文件。 -
谢谢。我删除了。
标签: python-3.x loops for-loop replace line