Python发布输出。字符串操作

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

我得到了下面的代码,但是在输出(txt文件)时,它不会返回一个值,只是一个
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语句进行调试,以查看是否存在任何内容。