python - 如何将任何目录格式(windows、linux、mac)传递给函数并独立使用它(python3)
问题描述
您可以使用以下命令使 os 独立于文件名:
os.path.join(os.path.curdir, '文件名')
但我需要别的东西。我希望我的函数采用任何路径格式(windows、linux、mac),将其转换为与操作系统无关的格式,以便将它分配给一个变量并在任何操作系统上使用它。另外,请注意文件名不一定在当前目录中。
例子:
def magically_read_any_path_format_and_make_it_os_independent(input_file)
...
return os_independent_format
# my variable
file = magically_...(input_file)
PS我知道我可以检查它是一个还是另一个操作系统并进行相应的转换,但是有没有更自动化和pythonic的东西?os 或 pathlib 或其他地方的东西?
谢谢
解决方案
如果您使用的是 python > 3.4
,您可以使用pathlib
它,它就是这样做的。你从你的路径创建一个Path
对象,它会为你处理一切。
在旧版本的 Python 上,只要您使用os.path
所需的任何路径操作,并将 Unix 格式用于任何硬编码常量以及os.path.normpath
,它应该适用于任何操作系统。
推荐阅读
- azure - 我需要哪个 Azure VM 来允许我运行 python 脚本并将数据推送到 azure sql 数据库
- flutter - Flutter 中的来回动画
- javascript - 地图功能不返回反应
- nginx - Nginx 映射重定向捕获正则表达式/查询字符串捕获并重定向到新的
- python - Pandas 两个数据框的交集,除了一个之外几乎具有相同的列
- if-statement - 如果语句 Tableau
- linux - 检查文件是否已更改以及文件中的哪一行
- tomcat - Kubernetes 服务 DNS 无法访问
- php - 停止旧的 XAMPP 后台进程
- serialization - 如何使用 Google 协议缓冲区创建通用反序列化器?使用 C#