在多操作系统支持的Python脚本中设置路径有哪些好方法

Sha*_*aun 5 python

编写可以在不同操作系统环境(Windows/*nix)中执行的Python脚本时,有哪些设置路径的好方法?在下面的示例中,我希望将日志文件存储在当前目录下的logs文件夹中.这是一种可接受的方法(我对Python很新)还是有更好的方法来实现这一目标?谢谢

if os.name == 'nt':
    logdir=('%s\\logs\\') % (os.getcwd())
else:
    logdir=('%s/logs/') % (os.getcwd())

logging.basicConfig(level=logging.INFO,
    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
    datefmt='%m-%d-%y %H:%M:%S',
    filename='%slogfile.log' % (logdir),
    filemode='a')
Run Code Online (Sandbox Code Playgroud)

Rya*_*eld 8

绝对看看os.path.它包含许多您需要的"安全"跨操作系统路径操作功能.例如,我总是在您概述的场景中完成此操作:

os.path.join(os.path.abspath(os.path.dirname(__file__)), 'logs')
Run Code Online (Sandbox Code Playgroud)

另请注意,如果要获取路径分隔符,可以使用:

os.path.sep
Run Code Online (Sandbox Code Playgroud)

这将在Windows上产生'\\',在Linux上产生'/',例如.