我有一个非常简单的python脚本, 应该 扫描一个文本文件,该文件包含格式为 id =’ value ‘的行并将其放入dict中。python模块称为chval.py,输入文件为in.txt。这是代码:
import os,sys from os import * from sys import * vals = {} f = open(sys.argv[1], 'r') for line in val_f: t = line.split('=') t[1].strip('\'') vals.append(t[0], t[1]) print vals f.close()
当我尝试运行它时,我得到:
追溯(最近一次通话): 文件“ chval.py”,第9行,位于?中。f = open(sys.argv [1],’r’)TypeError:必须为整数
我使用的是python 2.4 …因为我一直被挑战为不使用任何更新的东西,所以open()是否存在我所不知道的东西?为什么要整数?
该行之后的所有内容都未经测试。简而言之:为什么会给我错误,我该如何解决?
因为您这样做了from os import *,所以您(正在)使用os.open,它确实需要一个整数标志而不是文本的“ r”或“ w”。删除该行,您将克服该错误。
from os import *