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 ()
3 Réponses :
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!')
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])
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.
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 ()
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:
.docxindique un document Microsoft Word. Vous écrivez du texte brut, qui devrait avoir une extension.txtsi vous ne voulez pas tromper les utilisateurs (et déclencher des associations de types de fichiers invalides).