我在Java中做了一个脚本,写入一个文件下面的(JAVA)名单:阅读文件只一次
[-215 62 -155, -215 63 -155, -215 64 -155, -215 65 -155, -215 66 -155]
我的Python脚本需要阅读该文件内容如下而不修改文件或创建一个新问题:
-215 62 -155
-215 63 -155
-215 64 -155
-215 65 -155
-215 66 -155
我做了这个Python脚本将字符串转换到一个列表:
input_file = open('C:/test.txt', 'rb')
for line in input_file:
blocks = line.split(",")
#Delete brackets
blocks[0] = blocks[0][1:]
blocks[len(blocks)-1] = blocks[len(blocks)-1].strip()[:-1]
for data in blocks:
print data.split()
输出:
['-215', '62', '-155']
['-215', '63', '-155']
['-215', '64', '-155']
['-215', '65', '-155']
['-215', '66', '-155']
正如你所看到的过程还没有结束,我需要删除括号和引号使执行速度较慢。
事情我想:
- 枚举(),但它不能识别的格式
- 写列表中的Java所需的输出:追加每个项目的文件需要永远。
- 将逗号的位置存储在列表中,并使用find()函数循环通过字符串:但算法在文件上循环两次。
原始文件有900万个项目。所以,我的问题是:只能循环一次吗?
将'print data.split()[0:3]'更改为'打印数据'。 – 2014-09-01 04:23:09
@ Code-Apprentice我的原始文件有2个更多的值,这就是为什么im切片,但我即将编辑该部分。谢谢! – Rosenthal 2014-09-01 04:25:45
另外,使用多种语言解决此问题的原因是什么?也许你需要查看Java程序的输出,并让它直接创建正确的输出。听起来你已经尝试过了。继续使用Java代码发布一个新问题来说明您的问题。 – 2014-09-01 04:26:02