Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果x=='';读取文件时不会注册_Python - Fatal编程技术网

Python 如果x=='';读取文件时不会注册

Python 如果x=='';读取文件时不会注册,python,Python,试图让我的程序从一个文件中将行拆分为3行,然后应用“if row1==x:”来添加到现有类。现在这不是我的问题,我已经让它工作了,除了第1行是“”。因此,我尝试将输入文件更改为“”,然后更改为“*”,再更改为“k”(依此类推),但没有任何效果。 问题是,输入文件中的大多数行读取:1234565、'StreetAddress1'、'StreetAddress2',但对于某些行,没有StreetAddress1,只有'。但该程序在识别号码或“StreetAddress2”方面没有问题 class a

试图让我的程序从一个文件中将行拆分为3行,然后应用“if row1==x:”来添加到现有类。现在这不是我的问题,我已经让它工作了,除了第1行是“”。因此,我尝试将输入文件更改为“”,然后更改为“*”,再更改为“k”(依此类推),但没有任何效果。 问题是,输入文件中的大多数行读取:1234565、'StreetAddress1'、'StreetAddress2',但对于某些行,没有StreetAddress1,只有'。但该程序在识别号码或“StreetAddress2”方面没有问题

class adress(object):
def __init__(self,street,ykord,xkord):
    self.street = street
    self.ykord = ykord
    self.xkord = xkord
    self.connected = []
    self.anlid = []
    self.distances = []
    self.parent = []
    self.child =[]


def set_connections(self):
    input_file = open("kopplingar2.txt")
    temp = input_file.read().splitlines()
    for l in temp:
        row = l.split(',')
        identity = row[0]
        streetA = row[1]
        streetB = row[2]
        if streetA == self.street:
            diction = {'street':streetB, 'identity':identity}
            self.child.append(diction)
        elif streetA == '':
            self.anlid.append(identity)
            print 'poop!'
        elif streetB == self.street and streetA != '':
            diction = {'street':streetA, 'identity':identity}
            self.parent.append(diction)
            print streetA
“打印便便”只是为了看看它是否曾经发生过,但事实并非如此。结果应该是大约400行poop,因为inputfile中大约75%的行包含“”


我不知道为什么它适用于其他行,但不适用于第1行(除了它有时是“”而不是完整字符串)。

''在Python中是空字符串。如果您需要将一个值与由两个撇号字符组成的字符串进行比较,您需要编写
streetA=“””
,正如@yole所说,您需要与
“”
进行比较,例如,如果文件中的一行是
123”,“streetB”,“streetB”,则
l
将是
“123”,“streetB”
您得到的是

>>> l="123,'','streetB'"
>>> l.split(',')
['123', "''", "'streetB'"]
>>> 

在你的描述中,当你说,
row1是“”
,这是指row1是空的还是它只有两个单引号?它只有两个单引号,所以它不是一个空白输入,它的“”作为输入。煎饼上的垃圾我很笨,我知道这就是为什么我用“”而不是“”作为输入数据的全部原因。我简直忘了。感谢您的帮助,现在一切都运行顺利,我的其余代码也按预期工作:P