我正在使用Macbook编写Python程序。我想知道如何使用Python的文件函数来访问某些文件。我在谷歌上搜索没有找到答案。
例如,对于Windows操作系统,可以这样做:
f = open(r'C:\text\somefile.txt')
我该如何访问Mac桌面上保存在文件夹中的内容?
桌面只是用户主目录的一个子目录。由于主目录不是固定的,因此请使用类似 os.path.expanduser
的方式以保持代码的通用性。例如,要读取存储在桌面上的名为 somefile.txt
的文件,请使用以下代码:
import os
f = open(os.path.expanduser("~/Desktop/somefile.txt"))
如果您希望此代码可以在各种操作系统上都能够使用,那么您需要分别找出每个系统中桌面目录的位置。
f = open (r"/Users/USERNAME/Desktop/somedir/somefile.txt")
或者更好的是
import os
f = open (os.path.expanduser("~/Desktop/somedir/somefile.txt"))
因为在bash(Mac Os X上的默认shell)中,~/
表示用户的主目录。
~/
代表用户的主目录,这是错误的,它只是一种由流行的shell(如bash)使用的约定。尝试打开~/somefile.txt
将会在当前目录中查找名为~
的目录。 - Philippopen
永远不会展开 ~
,也永远不会使用 shell。尝试 open(“〜/ somefile.txt”,“w”)
-除非您有一个名为〜
的目录,否则将无法创建文件。 - Philipp你正在使用 Mac,所以像 "a/b/c.text"
这样的路径是可以的,但是如果你将来使用 Windows,你就需要将所有的 '/'
改为 '\'
。如果你想从一开始就更加便携和跨平台,最好使用 os.path.join
操作符:
import os
desktop = os.path.join(os.path.expanduser("~"), "Desktop")
filePath = os.path.join(desktop, "somefile.txt")
f = open(filePath)