使用装饰器实现在临时目录中的IO操作
使用python
串流程的时候经常会做的操作是:构建所用软件的输入文件-调用软件-读取运行结果-删除产生的文件。如果需要并行的话,可能还需要每个任务单独建一个临时目录,并且报错的时候还希望保留临时目录以方便debug。为了方便,可以使用装饰器自动完成建目录和删除等操作。
1 |
|
以上代码实现了调用时在给定的目录中建立临时目录,返回时删除临时目录,在日志等级低于INFO以及报错的时候会保留临时目录。
在实际串流程的函数中使用subprocess.run
获取返回的code,如果不是0就raise error,该错误就会被装饰器捕捉,从而保留临时目录以方便debug。
例如:
1 |
|
使用装饰器实现在临时目录中的IO操作
http://example.com/2023/02/01/使用装饰器实现在临时目录中的IO操作/