gpt4 book ai didi

python - 使用 `.rstrip()` 和 `.strip() to remove newline `\n`

转载 作者:行者123 更新时间:2023-12-04 08:39:27 25 4
gpt4 key购买 nike

来自 question 的跟进我昨天问这让我发现了一个新问题(太棒了!)。
所以我有这个代码从 (34354435.0000007, 623894584.000006) 转换 .dat 文件至 34354435.0000007, 623894584.000006.strip('()\n')然后用 .rstrip('\n') 删除尾随的换行符所以我可以将它导入到 matplotlib 并绘制一个多边形。代码中的顺序是相反的,但我认为这并不重要,因为无论它在 for 中的哪个位置,都会出现相同的错误。环形;

lang=js
data_easting=[]
data_northing=[]

#Open the poly.dat file (in Python)
Poly = open('poly.dat','r')

#Loop over each line of poly.dat.
for line in Poly.readlines():
line = line.rstrip('\n')
print (line +'_becomes')
line = line.strip('()\n')
print (line)
x,y = line.split(', ')
data_easting.append(x)
data_northing.append(y)

import numpy
data_easting = numpy.array(Easting,dtype=float)
data_northing = numpy.array(Northing,dtype=float)

from matplotlib import pyplot
我得到一个 Value Error ;
     16     line  = line.strip('()\n')
17 print (line)
---> 18 x,y = line.split(', ')
19 data_easting.append(x)
20 data_northing.append(y)

ValueError: not enough values to unpack (expected 2, got 1)
并通过 print函数我发现它试图遍历底部的换行符(所以当我尝试跨 x 和 y 拆分数据时,它在换行符处失败,因为换行符只有 1 个值,其中没有定义“,” .
...
(331222.6210000003, 672917.1531000007)_becomes
331222.6210000003, 672917.1531000007
_becomes

-----------------------------------------------
不是 .rstrip应该删除尾随的换行符吗?我也试过 .replace ,包括 \r rstrip函数,我得到相同的结果。我的代码有什么问题,它不会响应 .rstrip.strip ?
或者,如果有一种方法可以在最终数据输入处完全跳过或停止循环,那将绕过我认为的问题。
谢谢,
一个受限的学习者。

最佳答案

  • 从文件末尾删除多余的空行。
  • 如果输入中需要额外的空行,您需要检测并忽略它们:
    for line in Poly:
    if line == '\n':
    continue

    ...
  • 关于python - 使用 `.rstrip()` 和 `.strip() to remove newline `\n`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64633449/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com