要求用户从他们的计算机输入文件

时间:2016-08-13 00:19:24

标签: python python-2.7 dictionary

新的python 2.7用户。我刚刚开始学习字典并要求用户输入,所以我可以制作一些代码来练习操作字典,例如简单的数学计算。

我可以要求用户手动输入内容,例如:

 fav_numbs = (raw_input("What is your favorite car and color?: "))

我想在字典中获取用户的信息。我没有要求用户手动输入他们最喜欢的汽车和那辆车的颜色,而是希望他们从他们的电脑中导入他们自己的文件。到目前为止,我想出了:

 fav_cars = raw_input('Enter file name that contains your favorite cars and color. The file must have the first column as favorite cars and a second column includes your favorite color of that particular car: ')
 myfile = open(fav_cars, 'r')

我假设用户只需输入文件名就可以将文件输入到他们的python代码中了吗?我知道如果python文件和导入的文件在同一个文件夹中,那么所需的只是文件名。

我的下一组代码包括:

 if __name__ == "__main__":
 Testfilename = '????'   #this is what I do not know what to put in my code!
 fav_cars_dict = {}
 path = open(Testfilename)

根据我想自己在我的代码中输入文件的时间,我只想把文件名放在上面有问号的地方。如果我不知道用户将要放入的文件的名称,我该放什么?我之后没有包含代码,但如果需要它来帮助解决问题。我刚开始使用for循环将文件转换为字典,方法是在我创建的一列中使用包含10组数字的文件填充问号。

1 个答案:

答案 0 :(得分:0)

假设这是在命令行上运行的,您将需要使用argparse来获取用户的文件路径,而不是raw_input。但无论哪种方式,您都不应该担心用户从哪里导入文件。由相对路径和绝对路径指定的文件实际上以相同的方式处理。所以你的“???”仍然是fav_cars。如果您真的很好奇,os.path.abspath( path )将为您提供用户输入的任何有效路径的绝对路径。