0
votes

Comment inviter l'utilisateur qui demande à un utilisateur un nom de fichier?

Je suis en train de faire une introduction à la programmation, donc des choses basiques ici, j'ai pour mission "d'écrire un programme qui demande à un utilisateur un nom de fichier et affiche ensuite les 5 premières lignes du fichier," Je ne peux tout simplement pas comprendre comment utiliser la commande d'entrée dans cette situation, puis transférer vers open ()

Edit: Désolé, voici un extrait de code que j'avais, je ne comprends tout simplement pas comment appliquer l'entrée à partir d'ici.

def main():
    #This function writes to the testFile.docx file
    outfile = open('testFile.docx', 'w')
    outfile.write('Hello World\n')
    outfile.write('It is raining outside\n')
    outfile.write('Ashley is sick\n')
    outfile.write('My dogs name is Bailey\n')
    outfile.write('My cats name is Remi\n')
    outfile.write('Spam Eggs and Spam\n')
    outfile.close()

    infile = open('testFile.docx', 'r')
    testFileContent = infile.read()
    infile.close()
    print(testFileContent)

main ()


4 commentaires

Veuillez publier un extrait de code que vous avez essayé afin que nous puissions vous aider.


Ajouté dans ma modification ci-dessus


Ouais, veuillez vérifier ma réponse et mes explications. J'espère que cela aide!


Remarque: .docx indique un document Microsoft Word. Vous écrivez du texte brut, qui devrait avoir une extension .txt si vous ne voulez pas tromper les utilisateurs (et déclencher des associations de types de fichiers invalides).


3 Réponses :


0
votes

Premièrement, nous demandons un nom de fichier. Ensuite, nous utilisons la clause try , qui vérifie si le fichier existe. Si c'est le cas, il imprimera 5 lignes. Si ce n'est pas le cas, il affichera Aucun fichier de ce type trouvé!

x = input('Enter a file name')
try:
    with open(x) as f:
        data = f.readlines()
    for i in range(5):
        print(data[i])
except:
    print('No such a file found!')


2 commentaires

Insolite car là où j'en suis dans le cours, nous n'avons même pas encore appris les clauses `` essayer ''


@JordanSweeney, la clause try est juste utilisée lorsque l'utilisateur saisit un nom invalide. si vous supposez que le fichier existera toujours, utilisez x = input ('Enter a file name') avec open (x) as f: data = f.readlines () for i in range (5): print (data [i])



0
votes

input () est utilisé pour recevoir les entrées de l'utilisateur. Une fois que nous avons reçu l'entrée, nous utilisons la méthode open () pour lire le fichier en mode lecture .

def main():
    file = input("Please enter a file name")
    with open(file, 'r') as f:
        lines = f.readlines()
    print(lines[:5])

Le avec l'instruction s'assure qu'il ferme le fichier automatiquement sans appeler explicitement f.close()

La méthode f.readlines () renvoie un tableau contenant les lignes du fichier.

L'instruction print () imprime les 5 premières lignes du fichier.


0 commentaires

0
votes

En utilisant une fonction simple,

def hello_user():
    user_input = input('Enter file name: ')
    try:
        with open(user_input, 'r') as f:
            data = f.readlines()
    
        data = data[:5]
        for o in data:
            print(o.strip())

    except FileNotFoundError:
        print('Not found ')

hello_user ()

  1. Il demande un nom de fichier
  2. Si le fichier existe dans le même répertoire que le script est en cours d'exécution, il ouvre le fichier et lit chaque ligne (lignes blanches incluses)
  3. Nous ne sélectionnons que les 5 premières lignes
  4. Nous parcourons la liste et supprimons le caractère d'espacement supplémentaire (par exemple \ n).
  5. Si le fichier n'a pas été trouvé, nous interceptons l'exception.


0 commentaires