我的文本文件是:
CREATE TABLE `redirect` (
`rd_from` int(8) unsigned NOT NULL DEFAULT 0,
`rd_namespace` int(11) NOT NULL DEFAULT 0,
`rd_title` varbinary(255) NOT NULL DEFAULT '',
`rd_interwiki` varbinary(32) DEFAULT NULL,
`rd_fragment` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`rd_from`),
KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary ROW_FORMAT=COMPRESSED;
我的目标是删除文本,即:
,
PRIMARY KEY (`rd_from`),
我正在使用这个代码(PYTHON)(没有完成我的目标)。非常感谢你的帮助。
with open('filepath.txt',
mode = "r", errors='ignore') as file:
with open("filepath.txt", mode = "w", errors='ignore') as newfile:
badline = [",nPRIMARY KEY (`rd_from`),"]
for lines in file:
for word in badline:
lines = lines.replace(word, ' ')
newfile.write(lines)
对于file.readlines()
,您需要循环遍历行,并且您搜索badline
将不匹配任何内容,因为每个n
都断行。
相反,您可以使用file.read()
获得单个字符串:
badline = "nPRIMARY KEY (`rd_from`),"
with open('filepath.txt', mode = "r", errors='ignore') as file:
remaining = file.read().replace(badline, '')
with open("filepath.txt", mode = "w", errors='ignore') as newfile:
newfile.write(remaining)
此外,如果您删除前面的和下面的,
,您可能会破坏文件内容的语法:
badline = [",'nPRIMARY KEY (`rd_from`),"]
是
badline = "nPRIMARY KEY (`rd_from`),"
…或阅读命令行工具sed
🤷