Python-要列出但不作为字符串的文本
我有一个包含如下类语句的文本文件:Python-要列出但不作为字符串的文本,python,list,class,text,readline,Python,List,Class,Text,Readline,我有一个包含如下类语句的文本文件: Person('John Smith','1st Street','1987') Patient('Steve White','2nd Street','1976','456 132 768 128','11/14/17','St. Johns','Warren','309C') Employee('Roger Marks','3rd Street','1991','192837465','2011') Doctor('Paul Warren','4th St
Person('John Smith','1st Street','1987')
Patient('Steve White','2nd Street','1976','456 132 768 128','11/14/17','St. Johns','Warren','309C')
Employee('Roger Marks','3rd Street','1991','192837465','2011')
Doctor('Paul Warren','4th Street','1967','918213665','2007','250000','Cardiology','17')
Staff('Mike Clark','5th Street','1983','285018539','2009','Custodian','Sanatation','18', 'Full')
当我使用以下命令将它们输入列表时:
infile = open('ClassData.txt', 'r')
line = infile.readline()
for line in infile:
pObjects.append(line)
我用引号把它们括起来,例如:
pObjects = ["Person('John Smith','1st Street','1987')","Employee('Roger Marks','3rd Street','1991','192837465','2011')"]
我能做些什么来让他们在没有引号的情况下进入,这样他们就可以从列表中提取并运行,比如
pObjects = [Person('John Smith','1st Street','1987'),Employee('Roger Marks','3rd Street','1991','192837465','2011')]
您可以使用ast.literal\u eval:
pObjects=mapast.literal_eval,pObjects给了我一个错误,但我确实使用常规eval,pObjects.appendevalline使它工作
import ast
pObjects = map(ast.literal_eval, pObjects)