2017-09-22 1 views
0

경로를 통해 .txt 확장자 파일을 가져와 나열하고 사용자가 각 파일에 지정된 번호를 사용하여 선택하는 파이썬 스크립트를 작성합니다. 그가 열려고하는 파일과 프로그램은 그것을 열고 읽어야합니다.열고 파이썬에서 사용자가 선택한 파일을 읽으십시오

이미 확장자가 .txt 인 파일을 나열하는 스크립트가 있습니다.이 파일은 사용자가 선택한 파일을 가져 오지 못하게합니다.

import os 

mi_ruta = os.getcwd() 
archivos = os.listdir(mi_ruta) 

cont = 0 

for i in range(len(archivos)): 
    if (archivos[i][-3:] == 'txt') or (archivos[i][-3:] == 'csv'): 
     print(i,archivos[i]) 
     cont = cont + 1 

n = -1 
while n >= len(archivos) or n < 0: 
    print("Ingrese un valor entre",0,"y" , cont-1) 
    try: 
     n = int(input("Digite el número del archivo que quiere abrir: ")) 
    except: 
     print("Ingrese valor numerico") 

print("El archivo selecionado es: ",archivos[n]) 
file = open("m", "r") 
file.close() 
+0

시도'파일 = 개방 (archivos [N], "R") ' – Anona112

답변

1
file = open(archivos[n]), "r”) 
print(file.read()) # if you want to see it 

그리고 또 하나의 문제 : 다른 파일 (평, .PDF), 그것은 예를 들어, 더 큰 숫자를 선택하는 것은 불가능 하더군요있을 때 :

5 alph.txt 
10 data.txt 

나는 10 개의 파일을 가지고 있지만, 단지 2 개의 파일이있다. .txt.

print("Ingrese un valor entre",0,"y" , cont-1) 

“entre 0 y 2”을 말한다, 그러나 그것은 내가 할 것 (5) 및 (10)와 함께 작동 :

print("Ingrese un valor entre", 0, "y" , len(archivas)-1) 
관련 문제