python - 访问共享文件夹,因为 Windows、Linux 和 Mac OS 中的路径模式不同?
问题描述
在我们公司,我们有一个共享文件夹,我使用 Python 读取和写入(主要是 CSV 文件)。我创建 Python 脚本,我的队友在他们的 Windows 系统上运行,这些系统具有不同的路径分隔符,如下所示。
- Linux:
/mnt/sherpa/Marketing
- 窗户:
'S:\\Marketing\\
- 苹果电脑 :
/Volumes/sherpa/Marketing/
如何使这些脚本可移植以避免在将这些脚本发送到其他操作系统时手动更改文件路径?
我考虑过诸如 pathlib、os.path 之类的解决方案,但这些解决方案不适用于共享文件夹。目前使用下面的代码来识别正在使用 python 脚本的操作系统,然后相应地选择路径。
有没有更好的方法来处理这个?
from sys import platform
if platform == "linux" or platform == "linux2":
# linux
elif platform == "darwin":
# OS X
elif platform == "win32":
# Windows...
解决方案
您的解决方案看起来简洁易读,所以如果它有效,为什么让它更难/更复杂?毕竟,路径是完全不同的。
请注意,您可以在 Python for Windows 中使用 / 作为路径分隔符。如果要添加任何其他元素,请确保使用 os.path.join。
对于所有平台,您可能想要做的唯一一件事就是从 data/ini 文件加载路径,而不是硬编码。
– 谷仓
推荐阅读
- vb.net - 如何使用 vb.net 获取当前的发件人电子邮件 ID
- php - 如何从 Laravel 的请求中提取客户端证书?
- c# - 需要验证字段日期
- java - 菜单不会显示。我不知道为什么
- machine-learning - 使用 k-hot 标签为图像数据集创建 LMDB
- java - FileNotFoundException(文件名、目录名或卷标语法不正确)
- python - Pandas 中的矢量化操作
- android - 生成签名的 APK - 未定义产品风味
- regex - 正确的正则表达式以查找包含两个或三个单词的字符串
- hyperledger-fabric - 从超级账本结构中的账本中删除状态数据库