Linux 与 Windows 路径库 / OS 模块
Linux vs. Windows Pathlib / OS Module
我是程序员的新手,我 90% 的编程都是在数据分析师中进行的 space。我的大部分工作是使用 Pandas 包读取 csv 或 excel 文件。我在几台不同的机器上编程并使用 Dropbox 来同步 csv 文件,然后 Github 来管理代码端(不是 csv 文件)。 csv 文件需要保留在 Dropbox 上,因为数据的其他用户也会读取它们。根据我使用的计算机(工作 Mac 与家庭 Ubuntu),使用 OS 模块(类似这样的东西)读取不同计算机上的 csv 文件很容易
os.chdir(os.path.join(os.getenv('HOME'), 'Dropbox/etc/etc))
无论 Mac 或 Linux 机器如何,只要 Dropbox 在默认安装位置即可。
我最近开始使用 Windows 电脑。我的问题 - 使用 Linux & Windows 机器的人如何处理这个问题?我似乎找不到用 Windows 机器提取 csv 文件的等效方法。我在 WSL 周围搜索过,但未能找到解决方案。
目标是编写与 OS 无关的代码。任何帮助将不胜感激!
跨平台工作的最佳方式如下
import os
os.path.expanduser('~/Dropbox/etc/etc')
此命令会自动将 '~'
扩展到您的主目录。
如果您想使用 pathlib
,您可以使用 Path.home()
获取用户的主目录,或者您可以扩展相对于用户主目录的给定路径。
>>> from pathlib import Path
>>> Path.home()
PosixPath("/home/username") # linux
WindowsPath("C:\Users\Username") # windows
>>> Path("~/Dropbox/etc/etc").expanduser()
PosixPath("/home/username/Dropbox/etc/etc") # linux
WindowsPath("C:\Users\Username\Dropbox\etc\etc") # windows
我是程序员的新手,我 90% 的编程都是在数据分析师中进行的 space。我的大部分工作是使用 Pandas 包读取 csv 或 excel 文件。我在几台不同的机器上编程并使用 Dropbox 来同步 csv 文件,然后 Github 来管理代码端(不是 csv 文件)。 csv 文件需要保留在 Dropbox 上,因为数据的其他用户也会读取它们。根据我使用的计算机(工作 Mac 与家庭 Ubuntu),使用 OS 模块(类似这样的东西)读取不同计算机上的 csv 文件很容易
os.chdir(os.path.join(os.getenv('HOME'), 'Dropbox/etc/etc))
无论 Mac 或 Linux 机器如何,只要 Dropbox 在默认安装位置即可。
我最近开始使用 Windows 电脑。我的问题 - 使用 Linux & Windows 机器的人如何处理这个问题?我似乎找不到用 Windows 机器提取 csv 文件的等效方法。我在 WSL 周围搜索过,但未能找到解决方案。
目标是编写与 OS 无关的代码。任何帮助将不胜感激!
跨平台工作的最佳方式如下
import os
os.path.expanduser('~/Dropbox/etc/etc')
此命令会自动将 '~'
扩展到您的主目录。
如果您想使用 pathlib
,您可以使用 Path.home()
获取用户的主目录,或者您可以扩展相对于用户主目录的给定路径。
>>> from pathlib import Path
>>> Path.home()
PosixPath("/home/username") # linux
WindowsPath("C:\Users\Username") # windows
>>> Path("~/Dropbox/etc/etc").expanduser()
PosixPath("/home/username/Dropbox/etc/etc") # linux
WindowsPath("C:\Users\Username\Dropbox\etc\etc") # windows