在Python中从文本文件读取坐标

-2 投票
2 回答
3250 浏览
提问于 2025-04-30 17:53

我有一个文本文件(coordinates.txt):

30.154852145,-85.264584254
15.2685169645,58.59854265854
...

我有一个Python脚本,里面有一个循环:

count = 0
while True:
 count += 1
 c1 = 
 c2 = 

在这个循环的每一次运行中,我需要读取每一行(计数),并把c1,c2设置为每一行中的数字(这些数字是用逗号分开的)。有人能告诉我最简单的方法吗?

============================

import csv

count = 0

while True:
        count += 1
        print 'val:',count
        for line in open('coords.txt'):
                c1, c2 = map(float, line.split(','))
                break
        print 'c1:',c1
        if count == 2: break
暂无标签

2 个回答

0

在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,当用户点击一个按钮时,程序就会做出反应。这种情况我们通常会用“事件”来描述。

事件就像是生活中的一些事情,比如你按下电灯开关,灯就亮了。在编程里,事件可以是用户的点击、键盘输入,或者其他任何可以触发程序反应的动作。

为了让程序知道什么时候发生了这些事件,我们需要设置“监听器”。监听器就像是一个守卫,时刻关注着是否有事件发生。一旦有事件发生,监听器就会通知程序去执行相应的操作。

举个例子,如果你在网页上点击了一个按钮,监听器会捕捉到这个点击事件,然后程序就可以根据这个事件来显示一条消息或者改变网页的内容。

总之,事件和监听器是让程序与用户互动的重要工具。通过它们,程序能够对用户的操作做出及时的反应。

f=open('coordinates.txt','r')
count =0
for x in f:
    x=x.strip()
    c1,c2 = x.split(',')
    count +=1
4

最好的做法就是我上面提到的那样:

import csv

with open('coordinates.txt') as f:
    reader = csv.reader(f)
    for count, (c1, c2) in enumerate(reader):
        # Do what you want with the variables.
        # You'll probably want to cast them to floats.

我还加入了一种更好的方式来使用 count 这个变量,这个方法是 @abarnert 提到的,使用了 enumerate

撰写回答