我需要评估两个字符串是否指的是同一个目录或没有(做一个简单的比较是不够的,由于可能的虚拟链接,等...)检查目录路径是相同的
我有看着filecmp
,但filecmp.cmp
似乎只适用于文件,而不是目录。 filecmp.dircmp
似乎并不完全符合我的目的。
因此,我目前做这种方式:
if os.path.realpath(old_path) == os.path.realpath(new_path):
raise ValueError('Need different path!')
有没有人有一个更好的主意吗?有没有什么边缘情况下,这不会工作?
那么,使用'assert'就意味着如果你用'-O'运行Python来“优化”(禁用断言),它将不会执行测试。除非不可能用错误的目录调用代码(并且这仅仅是用于开发目的的检查),否则您想要测试并提升ValueError或类似的东西,而不仅仅是“assert”它。 – ShadowRanger
好点,我会改变这一点。 – DevShark