嗨,我遇到一个小问题时,附加一个字符串到一个文件。因此,基本上,我是在文件中不存在的书籍后面使用以下内容:
def writeBooks2File(booklist_dir):
BOOKS = ['Human Philosophy', 'Human Philosophy book']
for val in BOOKS:
if val not in open(booklist_dir, "r").read():
f = open(booklist_dir, "a")
f.write(val + "\n")
f.close()我的文件包含以下内容:
Human Philosophy
Human Philosophy book假设我删除了Human Philosophy,该文件只包含Human Philosophy book。再次运行writeBooks2File(booklist_dir)不会返回此输出:
Human Philosophy
Human Philosophy book但是,请返回以下内容:
Human Philosophy book如果两个值彼此相似,我需要做什么才能将Human Philosophy添加到文件中。
发布于 2019-02-09 20:07:27
问题是
>>> 'Human Philosophy' in 'Human Philosophy book\n'
True因此,您可以这样做:
>>> ('Human Philosophy'+'\n') in 'Human Philosophy book\n'
False我重写了你的剧本。这应该能让你更好地使用
def writeBooks2File(booklist_dir,books):
f = open(booklist_dir, "a")
for val in books:
if val+'\n' not in open(booklist_dir, "r").read():
f.write(val + "\n")
f.close()
def removebooks(booklist_dir,books):
with open(booklist_dir, "r") as File:
all_books = File.read()
for book in books:
new = all_books.replace(book+'\n','')
with open(booklist_dir, "w") as File:
File.write(new)
books = ['Human Philosophy book','Human Philosophy']
writeBooks2File('test.txt',books)
remove_books = ['Human Philosophy']
removebooks('test.txt',remove_books)有了这个,你就可以做你不能做的事。在文件后面加上“人的哲学”,即使有“人类哲学书”
https://stackoverflow.com/questions/54610062
复制相似问题