0
votes

Problème avec python manipulant des mots à partir d'une ligne

Je commence à utiliser python 3 pour créer un script automatisé pour vérifier certains ASN (sous forme de nombres) et j'ai le problème ci-dessous. C'est aussi mon premier message et j'espère fournir toutes les informations.

J'ai un fichier de test qui ressemble à ceci:

AS197655
AS100 AS10000 AS10002 AS10002 AS10006

et pour ce fichier de test, je veulent que la sortie soit comme ceci:

with open ("test", 'r') as file:
        for line in file:
         line = line.strip()
         print(line)

Voici le code que j'ai essayé:

AS197655
AS100
AS10000
AS10002
AS10002
AS10006

Si je lance cela code que j'obtiens:

AS197655 # first line
AS100 AS10000 AS10002 AS10002 AS10006 # second line


1 commentaires

Pourriez-vous expliquer plus clairement la différence entre ce que vous avez maintenant et ce que vous avez besoin du script? Il me semble que vous obtenez déjà ce que vous voulez.


5 Réponses :


-6
votes

Veuillez essayer:

data = open("test", 'r').readlines()

data [0] est-il votre premier ine et data [1] votre deuxième ligne?


1 commentaires

En quoi cela répond-il à la question?



1
votes

Quelque chose comme ça?

with open("test", "r") as file:
    for line in file:
        for elem in line.strip().split(" "):
            print(elem)


0 commentaires

1
votes

Vous pouvez diviser les lignes en utilisant la fonction de division.

AS197655
AS100
AS10000
AS10002
AS10002
AS10006

Résultat:

with open ("test", 'r') as file:
    for line in file:
        for l in line.strip().split():
            print(l)


0 commentaires

0
votes

Vous pouvez remplacer la nouvelle ligne par "" et diviser la chaîne qui vous donnera la liste. Plus tard, vous pouvez parcourir la liste pour écrire le contenu dans un fichier.

with open ("sample", 'r') as file:
        for line in file:
          line = line.replace("\n", "").split()
        for word in line:
          print(word)


0 commentaires

0
votes

str.strip supprime uniquement les espaces blancs environnants de chaque ligne. Afin de diviser chaque ligne par des espaces, on peut utiliser str.split sans argument à la place.

with open ("test", 'r') as file:
    for line in file:
        for y in line.split():
            print(y)


0 commentaires