创建一个函数来询问用户文件

时间:2015-03-08 19:37:11

标签: python-3.x file-io

我正在尝试创建一个向用户询问文件名的函数。如果找不到该文件,它将继续询问。这就是我的帮助..

def return_text_file(infile):
    while infile:

        try:
            file = open(infile)
        except IOError:

            print("Could not find the file specified")
            infile = input ("Enter the file name")
    return open_infile

file_input = input ("Enter the file name")
return_text_file(file_input)

1 个答案:

答案 0 :(得分:0)

您可以创建一个功能(例如下面的ask_file_name)以获得用户的有效回答。它将不断重复,直到给出现有名称。

import os

path_str = '/home/userblabla/ProjectBlabla/'


def ask_file_name():
    files_detected = os.listdir(path_str)

    while True:
        print('\nFiles:')
        for file in files_detected:
            print(file)

        file_name_given = input('\nFile name?')
        if file_name_given not in files_detected:
            print("Could not find the file specified")

        else:
            print('Thanks friend.')
            return file_name_given

my_file_name = ask_file_name()

with open(my_file_name, 'r') as opened_file:
    # Do stuff on opened_file
    ......

with open()自动关闭文件,如果您使用它而不是open(),可能会更好。