python如何让用户输入文件名并打开文件_基于用户输入python打开文件

由于这个问题表明了学习编码的强烈愿望,并且已经尝试过一些东西,所以我提供了一个适用于pythonversion3的变体(在版本2中,需要原始的输入而不是输入,以及将来的导入来声明print函数):#! /usr/bin/env python3

import sys

names_known = ( # Hints 1 and 2

None, "tp.txt", "c17testpat.pat", "c432test.pat",

"c499testpat.pat", "c1355testpat.pat", "c6288testpat.pat")

options_map = dict(zip(range(len(names_known)), names_known)) # 3

print("Enter:")

for choice, name in enumerate(names_known[1:], start=1): # 4

print('%d.%s' % (choice, name))

user_choice = input("Enter a number") # 5

try: # 6

entry_index = int(user_choice)

except:

sys.exit("No integer given!")

if not entry_index or entry_index not in options_map: # 7

sys.exit("No filename matching %d" % (entry_index,))

with open(options_map[entry_index]) as f: # 8

# do something with f

pass

很多事情还是会出错的,任何错误都需要用户重新启动(没有while循环等),但是有些成绩只存储一次名称(这里我选择了一个元组)

将1作为用户界面中的第一个数字(在索引0处插入虚拟对象)

从存储名称的元组派生dict(dict提供快速查找)

从名称元组构建用户界面信息(忽略虚拟)

将输入与验证分开

首先检查域类型(整数)。如果失败,提前退出系统出口并提供信息

请检查域成员身份,否则退出并显示信息

在上下文块中打开资源文件名目标,以便在处理完成后不要忘记关闭

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值