如何从Python中的文件中获取下一个标记(int,float或string)?

Jay*_*Jay 6 python

有没有办法从Python中的文件中获取下一个标记,例如Scanner类在Java中?

File file = new File("something");
Scanner myinput = new Scanner(file);
double a = myinput.nextDouble();
String s = myinput.next();
Run Code Online (Sandbox Code Playgroud)

我想忽略空格,制表符,换行符,然后从文件中获取下一个int/float/word.我知道我可以阅读线条并自己构建像Scanner这样的东西,但我想知道是否还有我可以使用的东西.

我搜索过,但只能找到面向行的方法.

谢谢!

ptm*_*man 10

查看标准库中的shlex-module:http://docs.python.org/library/shlex.html

import shlex
import StringIO # use in place of files

list(shlex.shlex(StringIO.StringIO('Some tokens. 123, 45.67 "A string with whitespace"')))
Run Code Online (Sandbox Code Playgroud)

它不像你想要的那样处理浮动.也许你可以扩展或修改它.