所以,我试图让事情变得简单:
shopping_list = []
print("Enter 'done' to stop adding items.")
while True:
new_item = input("> ")
if new_item.lower() == "done":
break
shopping_list.append(new_item)
print("Here's your list:")
for item in shopping_list:
print(item)
我是否可以将列表返回到另一个文件而不是打印它以显示该文件?我是新手,并不确定这是否可能(尽管代码可能一切正常,对吧?)。我的目标是让列表显示,并保存,以便我可以随时访问它。
答案 0 :(得分:1)
对于初学者,您需要将代码放在函数中。否则,你将无法“返回”任何东西。
def foo():
....
return shopping_list
所以,你的代码应该是这样的:
def foo():
while True:
new_item = input("> ")
if new_item.lower() == "done":
break
shopping_list.append(new_item)
return shopping_list
并且,你可以这样称呼你的函数:
my_shopping_list = foo()
一旦该功能返回,my_shopping_list
是一个购物项目列表,您可以随意做。
另请注意,我从循环中删除了print语句。如果您需要,请随意添加它们,但我认为这是您不想要的。
现在,当你说文件时,我认为你只是想在同一个程序中的其他地方。但是如果你确实想从另一个python脚本调用这个函数,那么这就是你要做的:
A.py
:
def foo():
... # entire function definition here
B.py
import A
my_shopping_list = A.foo()
创建两个python脚本。第一个包含foo
功能。第二个叫它。
或者,如果您想将购物清单打印到实际文件(从字面上理解您的文字),您可以这样做:
foo():
...
with open('cart.txt', 'w') as f:
for i in shopping_list:
f.write(i + '\n')
这会将您的项目写入文件。
答案 1 :(得分:0)
如果您要将列表运行到python脚本之外的文本文件,则可以执行以下操作:
outfile = open(file, "w")
CODE
outfile.write(shoppping_list)
outfile.close()
答案 2 :(得分:0)
您可以尝试这种方式:
def func():
shopping_list = []
print("Enter 'done' to stop adding items.")
while True:
new_item = input("> ")
if new_item.lower() == "done":
break
shopping_list.append(new_item)
return shopping_list
if __name__ == '__main__':
print("Here's your list:")
outfile = open('test.txt', "w")
shopping_list = func()
# outfile.write(shopping_list)
for item in shopping_list:
# print(item)
outfile.write(item + "\n")
outfile.close()