"如何逐行读取文件的方法?"

2024-04-26 01:36:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力学习python,我正在从一本书中解决一个问题,但我被一个问题困住了。它要求我读一个文件,每行包含一个'a'或's',基本上我有一个总数是500。如果一行包含一个'a',它会加上它旁边的金额,例如它会说“a20”,它会将我的总数加上20,对于s它会减去这个金额。最后,我应该在它做了所有的改变之后,把总数还给我。到目前为止

def NumFile(file:
    infile = open(file,'r')
    content = infile.readlines()
    infile.close()
    add = ('a','A')
    subtract = ('s','S')

从那以后,我完全不知道该怎么开始


Tags: 文件addclosedefopencontent金额infile
2条回答

一种变化可能是

f = open('myfile.txt','r')
lines  = f.readlines()
for i in lines:
  i = i.strip() # removes new line characters
  i = i.split() # splits a string by spaces and stores as a list
  key = i[0]    # an 'a' or an 's'
  val = int( i[1] )   # an integer, which you can now add to some other variable

尝试添加print语句以查看发生了什么。python最酷的地方是可以在一行代码中堆叠多个命令。这是一个等价的代码

^{pr2}$

您需要迭代文件的行。下面是一个框架实现:

# ...
with open(filename) as f:
    for line in f:
        tok = line.split()
        op = tok[0]
        qty = int(tok[1])
        # ...
# ...

这会将每个操作和数量分别放入op和{}。在

我让你来填补空白(# ...)。在

相关问题 更多 >