擅长:python、mysql、java
<p>你的代码有一些问题。你知道吗</p>
<p>首先,一般来说,更喜欢使用<code>with</code>打开文件到<code>open</code>。您不会关闭文件对象,因此在您关闭Python之前,操作系统认为它仍然处于打开状态(正在使用中)。你知道吗</p>
<p>其次,<code>split</code>,当在字符串上运行时,<em>将</em>拆分为<code>list</code>个字符串。您想从所有这样的子字符串中去掉逗号,因此需要遍历结果<code>list</code>——在<code>list</code>上运行<code>strip</code>是没有意义的,因为它不是一个字符串。你知道吗</p>
<p>最后,以这种方式遍历从文件中读取的文本并重新分配给<code>word</code>变量不会更改该文本,而只会更改<code>word</code>变量所指向的内容,因此实际上不会看到任何效果。你知道吗</p>
<p>示例:</p>
<pre><code>>>> numbers = [1, 2, 3, 4, 5]
>>> for i in numbers:
... i += 1
...
>>> numbers
[1, 2, 3, 4, 5]
</code></pre>
<p>原因是<code>i</code>连续指向从1到5的整数。当您对它执行<code>+=</code>时,您所做的是更改<code>i</code>指向的对象,而不是获取<code>i</code>指向的对象并更改它。你知道吗</p>
<p>打个比方:沿着路标到一所房子去修剪那里的草坪和移动路标指向另一所房子是有区别的。你知道吗</p>
<p>试试这个:</p>
<pre><code>tweet_path = input("Enter name of tweet file: ")
with open(tweet_path, "r", encoding='utf-8') as f:
coordinates = [line.split()[:2] for line in f]
cleaned_coordinates = [(lat[1:-1], lon) for lat, lon in coordinates]
</code></pre>
<p>最后,请注意:纬度和经度是<code>float</code>,而不是<code>int</code>,您可以根据需要进行相应的转换。你知道吗</p>