Python 从变量和空格打开文件

Python 从变量和空格打开文件,python,Python,我正在尝试删除输出的空白,并且尝试了words=[x.strip(“”)for x in words],但根本没有效果 另外,我正试图让它打开更多的文件data1.txt。我试图将它分配给我的输入,但它从未识别它,因为当它是字符串时,它会显示括号,我想不确定这是否是原因 Exemple of output: anana : 12 Orange:24 Patate: 21 def ligne(texte): with open(texte) as ouvrir: le

我正在尝试删除输出的空白,并且尝试了words=[x.strip(“”)for x in words],但根本没有效果


另外,我正试图让它打开更多的文件data1.txt。我试图将它分配给我的输入,但它从未识别它,因为当它是字符串时,它会显示括号,我想不确定这是否是原因

Exemple of output:
anana :  12
Orange:24
Patate: 21


def ligne(texte):
    with open(texte) as ouvrir:
        lecture = ouvrir.readlines()
        words = [x.split(":")[0].strip() for x in [line.strip() for line in lecture]]
        words = [x for x in words if len(x) > 1]
        return lecture
    return "Le fichier {} n'existe pas.".format(texte)

def main():
    while True:
        entree = sys.argv[1:]
        choix = str(entree)
        texte = "data2.txt"
        if texte in choix:
            message4 = sorted(ligne(texte))
            for i in message4:
                print(i)
            break
        else:
            print("Il faut préciser le nom du fichier à traiter")
            break

您返回了
返回讲座
,但您更改了
单词
,还可以将代码更改为
拆分
剥离
输入行,如下所示:

def ligne(texte):
    with open(texte) as ouvrir:
        lecture = ouvrir.readlines()
        words = [':'.join([x.strip() for x in line.split(':')]) for line in lecture]
        words = [x for x in words if len(x) > 1]
        return words
    return "Le fichier {} n'existe pas.".format(texte)
如果要调用多个文件,可以执行以下操作:

def main():
    entree = sys.argv[1:]
    for item in entree:
        message4 = sorted(ligne(item))
        for i in message4:
            print(i)
并将代码和文件作为参数运行:

python your_code.py first_file.txt secend_file.txt ...

text.split()可能会有帮助,它使用空格作为分隔符将str行拆分为单词列表。我的单词看起来像这样:21我看不见:21当我这样做时,请给我一个简单的输入和预期的输出。我已经编辑了我的问题。我的输入是我要打开的文件名。在这种情况下,它是data1.txt,但我也可以输入data2.txt或data3.txt。请看一下我的第二个问题?,我试图让它打开的文件比data1.txt更多。我试图将它分配给我的输入,但它从未识别它,因为当它是字符串时,它会显示括号,我想不确定这是否是原因。