从变量和空格打开文件

时间:2017-04-18 05:54:14

标签: python

我正在尝试删除输出的空格,我已经尝试过单词= [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

1 个答案:

答案 0 :(得分:2)

您返回return lecture,但您更改了words,也可以将代码更改为输入行的splitstrip,如下所示:

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)

将代码whit文件作为参数运行:

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