Ven*_*esh 1 python parsing operating-system python-2.7
import os
mypath = os.path.join('users','scripts', 'pythonsample')
print mypath
Run Code Online (Sandbox Code Playgroud)
users\scripts\pythonsample
Run Code Online (Sandbox Code Playgroud)
users/scripts/pythonsample
Run Code Online (Sandbox Code Playgroud)
import glob
glob.glob(os.path.join('users','scripts', 'pythonsample','*.*'))
Run Code Online (Sandbox Code Playgroud)
[users/scripts\\pythonsample\\a1.py,
users/scripts\\pythonsample\\a2.py,
users/scripts\\pythonsample\\a3.py
users/scripts\\pythonsample\\a4.py]
Run Code Online (Sandbox Code Playgroud)
[users/scripts/pythonsample/a1.py,
users/scripts/pythonsample/a2.py,
users/scripts/pythonsample/a3.py
users/scripts/pythonsample/a4.py]
Run Code Online (Sandbox Code Playgroud)
我可以编写一个 if else 块来决定脚本是在 Windows、MAC 还是 CGYWIN 中运行。
import sys
#Output of below command is Win32, linux2, darwin, cgywin
print(sys.platform)
Run Code Online (Sandbox Code Playgroud)
但是有没有一种简单的方法来完成这个而不用 if else 块?
这正是您应该期待的。在 Windows 上,os.path为您提供 Windows 风格的路径;在 Mac OS X 上,它为您提供 POSIX 风格的路径。
如果您希望保证 POSIX 路径的所有内容,请不要使用os.path,posixpath而是使用。
另一方面,如果您有甚至在 Windows 上可能是 POSIX 格式的路径(因为 Windows 的大多数部分都处理 POSIX 样式的路径,并且许多工具生成 POSIX 样式的路径)并且想要保证您有本地路径,调用os.path.normpath.