【发布时间】:2020-07-15 06:38:27
【问题描述】:
我正在创建一个基于菜单的程序,该程序可以读取和写入 csv 用于学校作业。
import csv
with open(r"C:/Users/sony/Desktop/CS/csv.csv","r+",newline='') as f:
def read():
csv_r = csv.reader(f)
for line in csv_r:
for i in range(len(line)):
print(line[i],' ',end='')
print()
def write():
csv_w=csv.writer(f,delimiter=",")
csv_w.writerow([input("Enter Product Name"),input("Enter Price"),input("Enter Quantity")])
while True:
print("1.Read")
print("2.Write")
function=int(input("Enter Choice of Function"))
if function==1:
read()
elif function==2:
write()
else:
break
问题是在循环的第一次迭代之后,如果你调用 read 函数,它不会将它打印到控制台。我应该怎么做才能解决这个问题?我也找不到类似的问题。
【问题讨论】:
-
它适用于第一次迭代。并且 write 函数适用于每次迭代
-
考虑一下代码结构并决定是否将您的函数 (
def) 声明放在其他地方会更好。 -
我尝试将它们放在 import 下的 (with open ) 之外。没有做任何事情。仍然存在问题
-
你在正确的轨道上,继续前进。提示:考虑迭代以及可能需要传递给读/写函数的内容。它们可能需要被概括。
-
我在这里看不到任何递归;请edit 澄清它的相关性,或删除不相关的标签。