簡體   English   中英

如何僅刪除包含特定關鍵字的一行? 並將該行保存到另一個文件中

[英]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')

在這里,我提示用戶從數字列表中選擇零件名稱,然后檢索零件名稱

output = []
for part in range(quantityOfParts):
    part = partSelection()
    partName = partsList[part-1]

此部分似乎不起作用,我試圖僅刪除 .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()

下面的示例暗示特定單詞由空格包裹。 如果您希望它區分大小寫,請刪除.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM