您需要将read_one_file()的结果存储在某个地方。你到底是什么
处理return语句就是创建结果的元组。那么你呢
当你调用read_one_file时,必须解包这个元组。下面是一个例子:(invid, stock, published, price, invtype, title, author) = read_one_file()
print "Item ID:", invid
这个语法执行所谓的“模式匹配”及其作用
是分解读取“一个”文件返回的元组,并为每个元组命名
元素。我在这里加上括号是为了让它更清楚
read_one_文件正在返回一个元组,但是您可以像这样轻松地编写它
这个:
^{pr2}$
这一切都很好,但实际上,这是一种不好的退货方式
从你的职能。如果有很多变量要从
像这样的函数,dict可能是更好的方法。还有,你会
可能需要使用with语句来确保文件已关闭和清理
一旦你搞定了,就把它放好。下面是您的代码应该是什么样子的
使用该策略:def read_one_file():
with open('C:\Python27\inventory.dat', 'r') as f:
return dict(invid = f.readline().strip(),
stock = f.readline().strip(),
published = f.readline().strip(),
price = f.readline().strip(),
invtype = f.readline().strip(),
title = f.readline().strip(),
author = f.readline().strip())
results = read_one_file()
print "Update Number In Stock"
print "----------------------"
print "Item ID: ", results['invid']
编辑:我把上面的代码改为使用.strip(),因为(as@NiklasB。指出),新行仍然包含在readline中。在