Python报错errno 2文件不存在:sys.argv[1]指定文件存在却无法读取
解决sys.argv[1]导致的文件找不到错误(errno 2)
- 核心问题1:你把
sys.argv[1]用双引号括起来了,Python会把它当成固定字符串去查找文件,而不是读取你在命令行传入的实际文件名。也就是说程序一直在找一个叫sys.argv[1]的文件,当然找不到你指定的CSV。 - 次要问题:代码里的
dnalist.appeand(dictionary)拼写错误,正确写法是dnalist.append(dictionary),这个会导致后续运行报错。
修正后的基础版本代码:
import sys import csv # 去掉sys.argv[1]的引号,直接使用变量 myfile = open(sys.argv[1], "r") reader = csv.DictReader(myfile) dnalist = list() for dictionary in reader: dnalist.append(dictionary) # 用完文件记得关闭 myfile.close()
更推荐用with语句自动管理文件(无需手动关闭,更安全):
import sys import csv dnalist = [] with open(sys.argv[1], "r") as myfile: reader = csv.DictReader(myfile) for dictionary in reader: dnalist.append(dictionary)
内容的提问来源于stack exchange,提问作者Scout_vet
相关产品推荐
相关产品推荐

