在python中尝试从文件中删除行,效果很好,但在我重新启动程序之前它不会更新。。。在程序中删除行和更新的地方,我该如何处理呢?我正在使用队列,因为我正在发送带有项目的api请求以同时发送它们。谢谢
代码示例:
class auto_claimer:
def __init__(self) -> None:
self.username_list = [user.replace("\n", "") for user in open("database.txt")]
self.mutex = Lock()
self.userQ = Queue()
def reloadQ(self):
for i in self.username_list:
self.userQ.put(i)
#print(len(self.username_list), "Words Successfully added to Queue")
def Queue(self):
while True:
if self.userQ.qsize() < len(self.username_list) / 2:
self.reloadQ()
def delete(self, item):
with open("database.txt", "r") as f:
lines = f.readlines()
with open("database.txt", "w") as f:
for line in lines:
if line.strip("\n") != item:
f.write(line)
f.flush()
print("Successfully removed {} from the text file".format(item))
当您继续打开一个文件进行读取,然后再次打开它以覆盖同一范围内的整个内容而不关闭它时,无论如何,这是一种糟糕的做法
在大多数情况下,python中对文件的许多更改直到文件关闭后才生效,因此如果脚本编辑、打开并读取文件,它将看不到编辑。因此,每次完成读取或写入时,请关闭该文件
相关问题 更多 >
编程相关推荐