2013-04-23 101 views
0

我有一个包含如下格式文件:阅读和蟒蛇解析文件内容

FID=COST|Tolerance=1 

FID=(BUY,SELL)|Tolerance=0 

FID=[(X,Y),(A,B)]|Tolerance=0 

什么是找出是否FID是一个字符串,元组或列表在阅读的最佳方式文件?

Normal正常isinstance在读取不工作后立即测试FID的值。感谢任何帮助。

+2

如果你正在阅读基本的文件操作的文件(而不是一些类型的解析库),你总是会得到字符串。你在问如何解析字符串以获得实际的列表或元组吗? – Blckknght 2013-04-23 07:10:02

+0

我很喜欢像configparser这样的标准库 - 任何以最有效的方式解决这个问题的东西,无需编写原始字符解析例程。 – IUnknown 2013-04-23 07:56:18

回答

0

设置A,B,X,Y,然后使用eval

try: 
    FID=eval("[(X,Y),(A,B)]") 
except SyntaxError: 
    print "unknown variable or syntax error" 
if (isinstance(FID, tuple)): 
    print "It's a tuple!!" 

同种方法可用于其他类型的