我在软件中使用pathlib进行库开发- 但不幸的是,我的TravisMatrix停止了,因为在一些较旧的python版本(3.5-3.7)上 pathlib.Path与最新的3.8版本不兼容
例如,以下内容适用于python 3.8,但不适用于3.6、3.7等:
>>> path_test_file = pathlib.Path('./tests/mytest.txt')
>>> path_test_file.unlink(missing_ok=True)
通过Requirements.txt、pip等是否有一种方便的方式升级pathlib库
我还试图用猴子修补旧版本的pathlib,但失败得很惨
正如@jakub所指出的,当然也有解决方案,比如:
if path_test_file.exits():
path_test_file.unlink()
# or:
try:
path_test_file.unlink()
except Exception:
pass
这是真的很清楚,不需要一个答案-但我不想混乱我的代码那样。 如果需要的话,我更愿意包含一些模块和monkey补丁pathlib.Path,并保持所有其他代码不变,并且仍然与较旧的python版本兼容
也许我应该跳起来https://github.com/KenKundert/extended_pathlib/blob/master/extended_pathlib.py
我刚刚将python3.8pathlib文件复制到一个新的包中,并调整了几行代码,使其行为类似于pathlib
现在,您也可以在3.6、3.7中使用所有Python 3.8 pathlib
你可以在github或pypi上找到它
免责声明:我是pathlib3x库的作者。
相关问题 更多 >
编程相关推荐