尝试从文本文件中获取这些数字:
00000
11111
22222
33333
44444
尝试从文本文件中减去总字符串,使函数以整数的形式处理每一行:
import linecache
with file('textfiletest.txt', 'r') as original: testfile = str(original.read())
lines = len(testfile.splitlines())
for i in range(lines):
SID = int(testfile[5*i: -(len(testfile)-5*(i+1))])
print SID
这段代码的结果是打印所有行,最后一行出现错误,表示它不是可转换字符。你知道吗
ValueError: invalid literal for int() with base 10: ''
注:每行5个字符。你知道吗
Python中的行读取比这简单得多,这里的事情确实过于复杂了:
这将直接一行一行地循环文件中的行。
int()
可以处理额外的空白,包括换行符,所以我们需要注意的是,确保跳过除空白之外的空白行。你知道吗您的解决方案没有考虑换行符也会占用空间;换行符的长度为6个字符。但是既然你已经很清楚地找到了
str.splitlines()
函数,为什么还要让自己这么为难呢?你可以循环一下:会给你一个循环文件内容中的行没有尾随换行,当然不需要复杂的切片计算。你知道吗
相关问题 更多 >
编程相关推荐