我有一个检查文件是否存在的类,如果文件存在则创建一个文件对象 否则,如果文件不存在或存在权限问题,则捕获异常。
import os
import sys
import pandas
import yaml
class FileChange():
def __init__(self, file_name='manifile.yml'):
''' to create a factfile object '''
self.file_name = file_name
self.checkfile()
def checkfile(self):
'''to check if the factfile exists or not '''
try:
with open(self.file_name, 'r') as yml_file:
self.yml_dict = yaml.safe_load(yml_file)
except (IOError,FileNotFoundError):
print('Unable to open file or File does not exist')
if __name__ == "__main__":
if len(sys.argv) == 1:
print("Run the script with the YML fact file name you would like to edit")
elif len(sys.argv) > 1:
FILE_NAME = sys.argv[1]
print(FILE_NAME)
F = FileChange(FILE_NAME)
我想使用此类创建一个类对象,如果文件不存在,则捕获/处理该对象中引发的异常。
我有2种用法。
1.通过创建一个对象
从filechange导入*
F = FileChange('dummyfile.yml')其中虚拟文件不存在,因此它应该向我显示消息并退出。
答案 0 :(得分:0)
如果我正确理解您的问题,则希望添加一个受控的自定义例外。 如果正确,那么此代码将为您工作
代码:
class IncorrectFile(Exception):
pass
然后通过调用IncorrectFile来调用它。
如果它不是定制的,则只需提出(选择错误)