Readline函数返回第一个lin

2024-04-19 00:13:12 发布

您现在位置:Python中文网/ 问答频道 /正文

这里的Python用户相对缺乏经验,我尝试在项目中使用readline函数来读取.xyz文件的特定行。你知道吗

但是,无论我输入readline函数的参数是什么,它都会系统地返回第一行。你知道吗

你知道是什么引起的吗?怎么解决?你知道吗

以下是立方体.xyz文件:

4  

'Cu' 0.0 0.0 0.0 0.5  
'Ag' 0.0 0.0 1.0 0.5  
'Ag' 0.0 0.0 2.0 0.5  
'Cu' 0.0 0.0 3.0 0.5

以及应该读取的代码位:

def swapfunction ():
    inp = open('cube.xyz', 'r+')
    print inp.readline(3)

swapfunction()

返回:

>>> 4

谢谢!你知道吗


Tags: 文件项目函数代码用户参数readlinedef
2条回答

inp.readline(n)返回整行或当前行中的字节数,以较小者为准。如果您想按字节读取,我建议您使用inp.read(n)。或者,在inp上使用循环

def swapfunction ():
    inp = open('cube.xyz', 'r+')
    for line in inp:
        print line,

swapfunction()

输出:

4  

'Cu' 0.0 0.0 0.0 0.5  
'Ag' 0.0 0.0 1.0 0.5  
'Ag' 0.0 0.0 2.0 0.5  
'Cu' 0.0 0.0 3.0 0.5
def swapfunction():
    with open('cube.xyz', 'r+') as inp:
        lines = inp.readlines()

然后你会在一个列表中有lines,你可以自由索引。你知道吗

或者如果你有一个大文件,你可以使用^{}。你知道吗

import itertools

def swapfunction():
    with open('cube.xyz', 'r+') as inp:
        index = 3
        line = next(itertools.islice(inp, index, index + 1))

相关问题 更多 >