【问题标题】:python 3.5.2 replacing/rewriting dictionary value in txt file from input?python 3.5.2从输入替换/重写txt文件中的字典值?
【发布时间】:2017-07-12 21:45:23
【问题描述】:

您好,我在替换 txt 文件中的数字和单词时遇到问题。我有 dict 写在 txt 文件中,例如:abc|aaa|bbb|ccc。 我想用输入中的新值替换最后一个 dict 值,然后将其保存在同一个 txt 文件中,而不更改 dict 的第一部分。比如:abc|aaa|bbb|ddd。 我要替换所有相同的数字,无法替换特定的数字。

我忘记了密码,抱歉。

inputQuantity = input("Quantity: ")
f = open("file.txt", "r")
f1 = f.read()
f2 = f1.replace(book["quantity"], inputQuantity)
f = open("file.txt", "w")
f.write(f2)
f.close()
book["quantity"] = inputQuantity

【问题讨论】:

  • abc|aaa|bbb|ccc和一个dict是什么关系?
  • “我正在替换所有相同的数字,无法替换特定的数字。”您能否展示一下您到目前为止所做的尝试?
  • 那些字母abcd实际上是字母还是代表数字?该文本文件中只有一行吗? “最后一个字典值”是指最后一个'|'之后的内容吗?特点?我在任何地方都看不到字典——只需替换最后一个 `|' 之后的任何内容就足够了性格还是其他的东西?你需要澄清你的问题。您还需要展示您到目前为止的尝试,以便我们知道在哪里可以帮助您,并且您向我们表明您不仅仅是向我们扔作业。
  • @AGNGaze 当我想替换这本书的作者时,代码可以工作,但是当我尝试用输入“3”替换“1”时,它会将 txt 中的所有“1”替换为“3”文件。也适用于单词,例如“是”或“否”。
  • @J.DoeDoeJ - 您如何想象文件中的一个 Yes 值与另一个值之间的区别?您能否实际发布一个数据示例以及您尝试替换某些内容时期望发生的情况?

标签: python file dictionary input replace


【解决方案1】:

如果你的“字典”总是用| 分隔,你可以使用这个:

with open('file.txt', 'r') as f:
    text = f.read().split('|')
'''
now you have a list ['abc','aaa','bbb','ccc']
now can you change 'ccc' like you would change a list
'''
text[3] = 'ddd'

如果你想保存“Python dict”dct = {Key:value},你可以使用像 json 这样的模块,它是标准库的一部分。 保存和/或加载 dict 如下所示:

import json

dct = {'key':'value'}
with open('file.json', 'w') as f:
    json.dump(dct, f)

with open('file.json', 'r') as f:
    dct = json.load(f)
print(type(dct))
>>> <class 'dict'>

【讨论】:

    猜你喜欢
    • 2022-08-22
    • 2021-08-30
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多