How to resolve relative paths in python?

后端 未结 4 1016
遇见更好的自我
遇见更好的自我 2021-02-18 12:57

I have Directory structure like this

projectfolder/fold1/fold2/fold3/script.py

now I\'m giving script.py a path as commandline argument of a fi

4条回答
  •  佛祖请我去吃肉
    2021-02-18 13:27

    try os.path.abspath, it should do what you want ;)

    Basically it converts any given path to an absolute path you can work with, so you do not need to distinguish between relative and absolute paths, just normalize any of them with this function.

    Example:

    from os.path import abspath
    filename = abspath('../../fold_temp/myfile.txt')
    print(filename)
    

    It will output the absolute path to your file.

    EDIT:

    If you are using Python 3.4 or newer you may also use the resolve() method of pathlib.Path. Be aware that this will return a Path object and not a string. If you need a string you can still use str() to convert it to a string.

    Example:

    from pathlib import Path
    filename = Path('../../fold_temp/myfile.txt').resolve()
    print(filename)
    

提交回复
热议问题