【发布时间】:2017-01-06 17:45:47
【问题描述】:
我已经为此苦苦挣扎了好几天,但我找不到任何与我正在尝试做的事情真正相关的答案,至少我找不到。
我正在尝试创建一个基本系统来跟踪我的财务状况(即现金、银行存款等)。我有两个脚本:display.py 和 edit.py。 这个想法是我可以轻松调出 display.py 并查看我有多少以及它在哪里,并使用 edit.py 更改 display.py 中显示的数量,而无需每次打开 Vi 或输入数字运行 display.py。
理论上,edit.py 会接受用户输入,然后用新输入覆盖显示中的值,这样显示就独立于编辑并保存这些值
display.py:
cash1 = "5.14"
bank1 = "none"
print "you have", cash1, "in your pocket"
print ""
print ""you have", bank1, "in the bank"
并在edit.py中使用它
f = open("display.py", "r")
contents = f.readlines()
f.close()
cashinput1 = "cash1"
cashinput2 = raw_input("enter the new coin amount: ")
cashtransfer = ("=".join((cashinput1,cashinput2,)))
contents.insert(5, cashtransfer)
f = open("display.py", "w")
contents = "".join(contents)
f.write(contents)
f.close()
我知道 edit.py 不是很干净,但问题是它将输入添加到行尾,并将其推送到下一行。目标是覆盖 cash1,而不是添加另一个。我试过简单地导入,但这不起作用,因为没有保存更改。
tl;dr 如何使用来自另一个脚本的用户输入覆盖一个脚本中的变量? 我正在使用 Python 2.7.12
提前致谢。
编辑:Sqlite3 看起来是为这种类型的东西设计的,所以这个问题得到了回答。不知道如何在没有任何答案的情况下关闭它。
【问题讨论】:
-
将信息直接存储在脚本中通常是个坏主意,更不用说修改源文件来完成这些了。也许如果您告诉我们您要做什么,我们可以推荐一种理智的方法。我怀疑您应该创建一个简单的数据库,甚至只是一个包含您的数据的 csv 文件(而不是 .py 文件)
-
您可以将数据保存在文本文件中并根据需要进行修改。
edit修改这个文件,display显示它 -
您应该考虑将其存储在文件中。然后两个应用程序都可以从所述文件中提取。如果你把它作为一个
ini文件来做,Python 有一个很好的内置库。 -
嗯,我明白你的观点了。 @Suever 我想基本目标是在不打开编辑器的情况下编辑文件。正在尝试将这些合并到一个更大的程序中,因此编辑它不需要 Vi 或 Leafpad 之类的东西
-
@Nameless477 如上所述,将
sqlite3用于一个非常简单的数据库,您可以在其中存储数据尤其是,如果这将成为更大应用程序的一部分
标签: python input python-2.x