[英]How to delete only one line containing a specific keyword? And save that line into another file
fileHandler = editFile(warehouse,'r')
fileHandler2 = open('provided_parts.txt','w')
Here I am prompting user to select the part name from a number list, and then retrieving the part name在这里,我提示用户从数字列表中选择零件名称,然后检索零件名称
output = []
for part in range(quantityOfParts):
part = partSelection()
partName = partsList[part-1]
This section doesn't seem to be working, I am trying to only delete one line in .txt file that contains the part name, and then saving that line into another file ( fileHandler2
)此部分似乎不起作用,我试图仅删除 .txt 文件中包含零件名称的一行,然后将该行保存到另一个文件 (
fileHandler2
)
for line in fileHandler:
line = line.rstrip()
newLine = line.split('\t')
if partName.lower() == newLine[0].lower():
fileHandler2.write(newLine[0])
fileHandler2.write('\n')
newLine[0] = '\t'
output.append(newLine)
fileHandler.close()
fileHandler2.close()
fHand = editFile(warehouse,'w')
for part in output:
for p in part:
fHand.write(p)
fHand.write('\t')
fHand.write('\n')
fHand.close()
The example below implies that specific word is wrapped by spaces.下面的示例暗示特定单词由空格包裹。 if you want it to be case-sensitive, remove
.lower()
如果您希望它区分大小写,请删除
.lower()
line_to_be_deleted = "Hello"
fileHandler = open(warehouse, 'rw')
fileHandler2 = open('provided_parts.txt','w')
fileHandler_lines = fileHandler.readlines()
for line in fileHandler_lines:
# write all lines except one that should be removed
if line_to_be_deleted.lower() not in line.strip('\n').lower():
fileHandler.write(line)
else:
# then write removed line into second file
fileHandler2.write(line)
# do not forget to close files
fileHandler.close()
fileHandler2.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.