Python发布输出。字符串操作
我得到了下面的代码,但是在输出(txt文件)时,它不会返回一个值,只是一个Python发布输出。字符串操作,python,string,Python,String,我得到了下面的代码,但是在输出(txt文件)时,它不会返回一个值,只是一个None,但是当我将它保存到txt文件时,当我简单地运行程序时,它会显示我想要的值 archi2=open('googletabla.txt', 'w') nicCoor=open("C:\Users\SistBa\PycharmProjects\seguropais\SeguroPais\NIC.txt", "r") coorNiclines=nicCoor.readlines() poly = [] for Ni
None
,但是当我将它保存到txt文件时,当我简单地运行程序时,它会显示我想要的值
archi2=open('googletabla.txt', 'w')
nicCoor=open("C:\Users\SistBa\PycharmProjects\seguropais\SeguroPais\NIC.txt", "r")
coorNiclines=nicCoor.readlines()
poly = []
for NicaLines0 in coorNiclines: #leyendo las coordenadas de Nicaragua
if(len(NicaLines0))>5:
NicLines=re.sub(r'99.000', '',str(NicaLines0))
NicLines1=re.sub(r' 0.000', '',str(NicLines))
if NicLines1.isspace()==False :
line = ','.join(NicLines1.split())
lista=str(poly.extend(zip(*[iter(map(float, line.split(',')))]*2)))
archi2.write(lista+'\n')
print poly
archi2.close()
我在python上的输出是:
C:\Python27\python.exe C:/Users/SistBa/PycharmProjects/seguropais/SeguroPais/game
[(14.993, -83.152), (14.959, -83.172), (14.952, -83.2), (14.891, -83.262), (14.762, -83.31), (14.633, -83.283), (14.456, -83.221), (14.333, -83.2), (14.265, -83.214), (14.122, -83.297)...]
进程已完成,退出代码为0
但是,在我的txt文件中有以下内容:
None
None
None
None
None
None
None
None...
您正在转换列表方法“extend”的结果,并编写以下代码。但是它返回None,所以这就是为什么在输出中会有很多None 此外,您甚至可能不希望扩展,因为您在每次迭代中都要编写,所以对于所有NicaLines0,您将编写它和前面的所有行 然后完全不必要地拆分NicLines1,只是为了再次连接它,然后再拆分它。只要写
line = NicLines1.split()
并删除该行。在下一行拆分(“,”)
如果没有正确地转义文件名或使用原始字符串,那么在文件名中使用反斜杠有时会遇到麻烦
我不知道您想要的输出是什么,因此我不能建议替换lista作业。以上答案的视觉添加 这里的问题是extend实际上总是返回None
>>> a.extend('a')
>>> a
['a']
因此,将其更改为如下内容:
archi2=open('googletabla.txt', 'w')
nicCoor=open("C:\Users\SistBa\PycharmProjects\seguropais\SeguroPais\NIC.txt", "r")
coorNiclines=nicCoor.readlines()
poly = []
for NicaLines0 in coorNiclines: #leyendo las coordenadas de Nicaragua
if(len(NicaLines0))>5:
NicLines=re.sub(r'99.000', '',str(NicaLines0))
NicLines1=re.sub(r' 0.000', '',str(NicLines))
if NicLines1.isspace()==False :
line = ','.join(NicLines1.split())
new_val = zip(*[iter(map(float, line.split(',')))]*2)
poly.extend(new_val)
lista=str(new_val)
archi2.write(lista+'\n')
print poly
archi2.close()
请添加
C:\Users\SistBa\PycharmProjects\seguropais\seguropais\NIC.txt的一些内容
在“lista=…”之后使用print语句进行调试,以查看是否存在任何内容。