2017-09-22 67 views
0

我正在寫一個python腳本,它通過路徑獲取.txt擴展名文件並列出它們,因此用戶通過分配給每個文件的編號來選擇,和他想打開的文件,程序必須打開並閱讀它。打開並讀取用戶在python中選擇的文件

我已經有腳本採用.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 

還有一問題:當有其他文件(的.py,.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)