python - 使用 Python 在 Mac OSX 中转义正斜杠路径目录?

标签 python path directory escaping

这是我的第二篇文章,如果我做错了什么,我深表歉意 - 我会尽量简洁。

我做了一些搜索,大多数转义都必须处理嵌入的 JSON 字符串 - 我的问题实际上是打开文件本身。

目前,我正在努力使我的代码尽可能通用,所以我正在使用:

file = open(os.path.expanduser(r'~/Desktop/Austin/Tweets/10_7_2012_12/09-Tweets.txt'), 'r')

问题是,当解释器看到这段代码时,它看到的是文件名中的“/”,我认为它正试图进入另一个目录。我通过删除文件名中的“/”并键入以下内容来确认这一点:

file = open(os.path.expanduser(r'~/Desktop/Austin/Tweets/10_7_2012_1209-Tweets.txt'), 'r')

它加载得很好。

对所有这些文件执行此操作的问题在于,我有数百个文件,其中包含数千条推文,这有点不切实际。

所以我的问题是: 有没有一种方法可以加载文件 name 中带有正斜杠的文件?

我看到很多使用搜索按钮加载文件的方法,但没有一个包括如何处理名称中的正斜杠...我试过:

file = open(os.path.expanduser('~/Desktop/Austin/Tweets/10_7_2012_12\/09-Tweets.txt'), 'r')

file = open(os.path.expanduser('~/Desktop/Austin/Tweets/10_7_2012_12//09-Tweets.txt'), 'r')

一切都无济于事。

如果有人愿意教一个天真的本科生,欢迎解释 Python 如何处理正斜杠。

我在 Leopard 上使用 Mac OSX。我正在运行一个与 Twitter Streaming API 通信的网络爬虫;名称中的斜杠是用“/”保存它们以指定日期的结果。

解决方案: 您可以在 Mac OSX 上的文件名中使用正斜杠。 从文件系统的角度来看,/实际上是一个冒号,它在 Finder 中被转换为/。

Kindall 的解释如下: Carbon 层是必需的,它使用标准的 Mac 文件名分隔符,冒号。早在 1984 年,Mac 文件名中就一直允许使用斜杠。Mac 用户还希望在 GUI 中看到冒号而不是斜杠作为路径名分隔符(或者至少在 2001 年出现这种行为时他们是这样做的)。

最佳答案

我假设您使用的是类 Unix 操作系统,我的理解是在此类系统的文件名中不允许使用正斜杠。如果您在 ~/Desktop/Austin/Tweets/ls,您会看到什么?

关于python - 使用 Python 在 Mac OSX 中转义正斜杠路径目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11418886/

相关文章:

android - 将文件保存在 iOS 应用程序目录中

python - 模拟修补类方法不起作用

python - PywinAuto 和消失的控件标识符

python - xarray 中的 bool 索引

batch-file - 如何保存包含俄语或中文字符的文件的目录列表

regex - Mercurial/.hgignore - 如何忽略除文件夹内容之外的所有内容?

python - 使用 QtDesigner 连接 Pyside 与 Matplotlib - 使用 pushButton 进行绘图

Eclipse Luna "cannot determine URI for/project/src/com/.../classFile.java"(Windows 8)

java - 如何将永久 CLASSPATH 添加到 Mac OS El Capitan 上的终端?

ios - 如何从 UIImage 获取文件路径?