我的脚本在特殊文件夹中工作,其名称为"折叠"。 在不同的计算机和操作系统上,此文件夹的路径是不同的。 例如,在Mac上它将:" / Users / user / Fold"。在Windows上 - " C:\ Users \ user \ Desktop \ Fold" 。 如何在我的Python脚本中输入此文件夹的路径以在每个平台上工作?如果脚本只能在#34; Fold"内部进行操作,我应该在脚本中输入什么内容?文件夹?
答案 0 :(得分:1)
os模块具有识别各种操作系统的功能
您可以在代码中执行此操作
import os
if os.name == 'nt'
# do something nt stands for windows
path = 'C:\Users\user\Desktop\Fold'
elif os.name == 'posix'
# linux or mac
path = '/home/user/Desktop/Fold'
平台模块提供了比os模块更多的细节,os可能会在我的linux机器平台上输出linux和mac的posix输出这个
import platform
>>> print(platform.system())
Linux
>>> print(platform.release())
3.13.0-76-generic
platform.system()
应该返回达尔文'对于mac
答案 1 :(得分:0)
您可以使用
import sys
import os
sys.platform == "win32":
fold = os.path.join("C:", "Users", "user", "Desktop", "Fold")
elif sys.platform == "Darwin":
fold = os.path.join("/Users", "user", "Fold")
else:
...
或者您可以在每台计算机上设置一个环境变量,如果它在同一个操作系统中发生变化。
答案 2 :(得分:0)
您可以通过os.path.expanduser("~")获取用户文件夹(Mac:/Users/user
,Win:C:\Users\user\
)的路径。从那里开始,您的实现似乎特定于操作系统 - 可能只有Windows实现将其数据放在桌面上。由于您可以通过sys.platform获取平台标识符,因此您可以执行以下操作:
import sys, os
folderPath = os.path.join("Desktop", "Fold") if sys.platform == "win32" else "Fold"
fullPath = os.path.join(os.path.expanduser("~"), folderPath)
如果您想使用其他系统上桌面文件夹的路径,请参阅Cross-platform Desktop directory path?