2

我才刚刚开始我的 Python 之旅。我想建立一个小程序来计算我在摩托车上进行气门间隙时的垫片尺寸。我将有一个包含目标间隙的文件,我将询问用户输入当前垫片尺寸和当前间隙。然后程序将吐出目标垫片尺寸。看起来很简单,我已经建立了一个电子表格,但我想学习 python,这似乎是一个足够简单的项目......

无论如何,到目前为止,我有这个:

def print_target_exhaust(f):
    print f.read()

#current_file = open("clearances.txt")
print print_target_exhaust(open("clearances.txt"))

现在,我已经让它读取了整个文件,但是我如何让它只获得例如第 4 行的值。我已经print f.readline(4)在函数中尝试过,但这似乎只是吐出了前四个字符。 .. 我究竟做错了什么?

我是新人,请放轻松!-d

4

3 回答 3

4

要阅读所有行:

lines = f.readlines()

然后,打印第 4 行:

print lines[4]

请注意,python 中的索引从 0 开始,因此这实际上是文件中的第五行。

于 2012-12-27T21:46:00.203 回答
3
with open('myfile') as myfile: # Use a with statement so you don't have to remember to close the file
    for line_number, data in enumerate(myfile): # Use enumerate to get line numbers starting with 0
        if line_number == 3:
            print(data)
            break # stop looping when you've found the line you want

更多信息:

于 2012-12-27T21:49:30.083 回答
-1

效率不是很高,但它应该向您展示它是如何工作的。基本上它会在它读取的每一行上保持一个运行计数器。如果该行是“4”,那么它将打印出来。

## Open the file with read only permit
f = open("clearances.txt", "r")
counter = 0
## Read the first line 
line = f.readline()

## If the file is not empty keep reading line one at a time
## till the file is empty
while line:
    counter = counter + 1
    if counter == 4
        print line
    line = f.readline()
f.close()
于 2012-12-27T21:49:11.067 回答