在Python中使用in运算符的if语句中,字符串被破坏

2024-10-04 07:27:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我对以下Python代码有以下问题:

katalog = open(r"Katalog.txt", 'r')
katentrylist = open(r"katentrylist.txt", 'r')

for line in katalog:

    for element in katentrylist:
        if element in line:
            print(element)
            if clean6.search(element) != None:
                element = clean6.sub('', element)
            if clean7.search(element) != None:
                element = clean7.sub('', element)
            if clean8.search(element) != None:
                element = clean8.sub('', element)
            if clean9.search(element) != None:
                element = clean9.sub('', element)
            elementtxt = element + '.txt'
            with open(elementtxt, 'a') as d:
                d.writelines(line)
                d.close()

    elementtxt = ''
    check = ''

当我尝试执行print(element)语句时,变量元素在if语句之后是空的,使用in运算符。但是,我可以执行line变量的print语句或打印随机字符串。如果我使用任何其他If语句,而不是使用in运算符,那么我也可以打印元素varible。你知道吗

有没有人对这种行为有什么解释,能给我一个为什么会这样的提示。你知道吗

非常感谢!你知道吗


Tags: intxtnoneforsearchiflineelement