如何在Python中存储和检索数字,以及如何更改数字
我有一组3(2100、150)个数字,我想从如何在Python中存储和检索数字,以及如何更改数字,python,gedit,Python,Gedit,我有一组3(2100、150)个数字,我想从.txt文件中检索它们,并对它们进行更改,然后将它们放回原处。我尝试了数千种方法,但什么也找不到 这是我尝试过的一些代码,所以如果我犯了任何错误,请您尝试并纠正它们 with open('bankstatmentrubyoscarpoints.py') as f: for ln in f: a = [int(x) for x in ln.split()] date = a[0] credit = a[1] balen
.txt
文件中检索它们,并对它们进行更改,然后将它们放回原处。我尝试了数千种方法,但什么也找不到
这是我尝试过的一些代码,所以如果我犯了任何错误,请您尝试并纠正它们
with open('bankstatmentrubyoscarpoints.py') as f:
for ln in f:
a = [int(x) for x in ln.split()]
date = a[0]
credit = a[1]
balence = a[2]
ndate = raw_input('new date is')
ncredit = raw_input('the new credit is')
f.write('\n')
f.write(ndate)
f.write('\t')
f.write(ncredit)
f.write('\t')
f.write(nbalence)
f.close
因此,答案将是惊人的 此代码有三个问题:
with
引入了一个新的块(“套件”),并且后面必须至少有一个缩进语句open('bankstationrubyscarpoints.py')
以读取模式将文件作为文本文件打开。你正试图写信给它。如果要读写,必须提供mode='rw'
with
语句打开的文件。with语句的要点是您不需要这样做。此外,您实际上没有调用f.close
,因为函数调用需要括号()
如果文本文件中只有数字,您可以通过执行以下操作来擦除文件内容:
open('bankstationRubyosCarPoints.py','w+)
现在,当您执行写入操作时,文件内容应该被添加的新项覆盖欢迎加入堆栈溢出。请尽快阅读这一页。我认为你的评论“我已经尝试了成千上万的事情”是夸张的;从表面上看,它不太可能被认为是准确的。也许你应该说‘我尝试了很多东西’——没有人会对此吹毛求疵。您看过Python手册的哪些部分?您是否考虑过r+
作为开放模式的优点?您的输入似乎与所有数字一起出现在一行中;您的输出似乎将数字写在三行上。你应该选择一种格式(任何一种都可以),并坚持下去。[…continued…][…continuent…]读取数据后,需要将其保存到文件中,然后可以写入修改后的值。(如果新文件比旧文件短,则截断很重要。)是我,还是您试图写入以读取模式打开的文件?有关您编写的代码问题的问题必须在问题本身中描述具体问题,并包括复制该问题的有效代码。请访问SSCCE.org以获取指导。只是一个更新,我在几年前编写了此代码,正如您所看到的,我非常糟糕,对于给您带来的不便,深表歉意。