从txt文件中获取数据

时间:2012-12-27 21:43:01

标签: python

我刚刚开始我的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

3 个答案:

答案 0 :(得分:4)

阅读所有内容:

lines = f.readlines()

然后,打印第4行:

print lines[4]

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

答案 1 :(得分: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

更多信息:

答案 2 :(得分:-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()