Python用户输入文件名

时间:2013-10-02 21:17:35

标签: python sorting input

只是一个简单的问题...我正在尝试提示输入文件名并打开该文件并从该文件中生成一个整数列表并对它们进行排序。我找不到提示文件名并打开该文件名的方法。这是我的主要功能,我不会给你关于其他功能的所有不必要的信息

def main():
    L = []

    """
    this doesn't seem to work
    dataFile = input('Enter a filename: ')
    open(dataFile)
    """
    dataFile = open('test.txt')
    for line in dataFile:
        L.append(int(line.strip()))
    print('Unsorted List')
    print (L)
    print()
    selectsort(L)
    print('Sorted List')
    print(L)

test.txt打开一个数字列表,如

4
1
7
6
2

那么如何使用来自用户的提示打开文本文件

2 个答案:

答案 0 :(得分:2)

fname = input('Enter a filename: ')

with open(fname) as f:
    lst = sorted(map(int, [line.strip() for line in f]))
    print lst

答案 1 :(得分:0)

您在评论中写道:

open(dataFile)

这将打开指示文件,但不会对生成的文件对象执行任何操作。试试这个:

dataFileName = input('Enter a filename: ')
dataFile = open(dataFileName)

for line in dataFile:
    L.append(int(line.strip()))
... etc, etc, etc