尝试学习python,我开始只是尝试复制一些我用于日常生产力任务的powershell脚本。我想问问大家为什么这种方法在python中不起作用:
def csvIn(path):
import csv
with open(path) as myFile:
csv = csv.reader(myFile)
return csv
a = csvIn('C:/Users/xxxxxx/Desktop/DL/add.csv')
for row in a:
print(row)
我试图编写一个导入CSV文件并将其输出放入列表(数组)的函数。如果我在函数调用之外调用import csv,整个过程就有效。当我从函数内部尝试它时,我得到了这个:" ValueError:关闭文件的I / O操作。"
答案 0 :(得分:0)
因为with是一个上下文管理器,所以当程序到达返回行时,文件已经关闭。
建设性的建议是将其合并为一个:
import csv
PATH = 'C:/Users/xxxxxx/Desktop/DL/add.csv'
with open(PATH) as myFile:
h_csv = csv.reader(myFile)
for row in h_csv:
print(row)
编辑:根据要求,这里有一个例子,它是一个函数,但没有with:
import csv
def csvIn(path):
myFile = open(path)
h_csv = csv.reader(myFile)
return h_csv
a = csvIn('C:/Users/xxxxxx/Desktop/DL/add.csv')
for row in a:
print(row)