Python - 验证输入是真实文件夹而不是root

1 python windows validation command-line-arguments python-2.7

我正在用Python编写脚本.用户必须输入要运行的脚本的文件夹.有一些复制和移动文件,在某一点上将删除一个文件夹.因此,在任何情况下我都不希望在根文件夹上运行此脚本.(或该事项的当前或父母)

所以我需要验证这一点.但是我如何做到这一点,因为"/""./""."".."等..作为输入都是完全有效的和使用os.path.isdir()的现有文件夹.

我应该手动检查这些系统文件夹符号的输入.或者是否有更好的方法(可能是现有的函数?)来检查输入是否是真实的现有文件夹,而不是系统或符号文件夹,如(root,current,parent等)

Mar*_*ers 5

您希望通过使其成为绝对路径来规范化您的路径.您可能还想删除符号链接:

import os.path

normalized = os.path.realpath(os.path.absolute(path))
if normalized == '/':
    raise ValueError("Can't use root as a destination") 
Run Code Online (Sandbox Code Playgroud)

使路径绝对消除任何当前或父路径引用,以及任何加倍的分隔符.