如何从文件中逐行获取值并将它们存储在函数python中?

2024-04-26 14:28:25 发布

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

我有一个包含如下值的文件:

(1, 3)
(4, 5)
(15, 39)

像值(x,y)一样使用它。你知道吗

我首先要将整数1存储到变量“x”中,然后将整数3存储到变量“y”中,然后在方法中使用它们。然后我想将第二行4存储到变量“x”中,5存储到变量“y”中。所以基本上只重用两个“x”和“y”,在方法中临时使用它们,并将下一行输入存储到这些变量中,以此类推。示例:

x = 1
y = 3
z = x + y
print z = 4
return x, y  #Here return to line 2 (4, 5)

print z = 9

等等…等我的文件写完就停下来。你知道吗


Tags: 文件to方法示例returnhereline整数
1条回答
网友
1楼 · 发布于 2024-04-26 14:28:25

给你:

#!/usr/bin/env python2.7

def read_file(filename):
    # opens file, reads contents, and splits it by newline
    with open(filename, 'r') as f:
        data = f.read().split('\n')

    # iterates through data and converts each string to a tuple
    for i in range(len(data)):
        lparen = data[i].find('(')
        comma = data[i].find(',')
        rparen = data[i].find(')')
        data[i] = (int(data[i][lparen+1:comma]), int(data[i][comma+1:rparen]))

    return data

def main():
    for i in read_file('ParsingCoordsInput.txt'):
        print i[0] + i[1]

if __name__ == '__main__':
    main()

几个注意事项:

  • 我使用的是Python2.7(如果使用的是3.x,则需要修改此代码才能正常运行)
  • 我将输入文件命名为ParsingCoordsInput.txt文件. 如果您的文件名不同(我假设会是这样),则必须更改main()的第一行
  • 确保输入文件与脚本位于同一目录(文件夹)中

编辑:

这里是python3.x的代码,唯一的区别是在print周围添加了括号(因为它在3.0中变成了一个函数)。好好享受!你知道吗

#!/usr/bin/env python3

def read_file(filename):
    # opens file, reads contents, and splits it by newline
    with open(filename, 'r') as f:
        data = f.read().split('\n')

    # iterates through data and converts each string to a tuple
    for i in range(len(data)):
        lparen = data[i].find('(')
        comma = data[i].find(',')
        rparen = data[i].find(')')
        data[i] = (int(data[i][lparen+1:comma]), int(data[i][comma+1:rparen]))

    return data

def main():
    for i in read_file('ParsingCoordsInput.txt'):
        print(i[0] + i[1])

if __name__ == '__main__':
    main()

相关问题 更多 >