【发布时间】:2015-12-13 18:01:10
【问题描述】:
我有一个任务是编写一个“检测文件是否可读”的 Python 脚本。
我不知道应该运行哪些异常。假设输入文件是一个文本文件,扩展名为*.txt
我应该提出什么异常?我怀疑应该有多个。目前,我有:
with open('example_file.txt") as textfile:
if not textfile.lower().endswith('.txt'):
raise argparse.ArgumentTypeError(
'Not a text file! Argument filename must be of type *.txt')
return textfile
但是,这只检查文件扩展名。我还能检查什么? Python中文件I/O的标准是什么?
【问题讨论】:
-
可读性是什么意思?这是否意味着该文件存在?这是否意味着该文件仅包含可打印字符(例如 ascii 字符)?这是否意味着您具有从文件中读取的适当权限?
-
另外,扩展不会影响python读取文件的能力。
-
为什么 csv 文件必须具有 .csv 扩展名?
-
我认为你需要弄清楚你的任务是什么。我在第一条评论中提到了一些你可以做的不同的事情。
-
@PadraicCunningham 我认为这意味着“该程序仅在文本文件上运行”。如果用户输入 .pdf 或 .ppt,则引发错误。这合理吗?