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

2024-10-05 13:58:23 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我做了一些搜索,大多数转义都必须处理嵌入的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')

而且装得很好。

对所有这些文件这么做的问题是,我有几百个包含几千条tweets的文件,这有点不切实际。

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

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

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上使用MacOSX。我正在运行一个与Twitter流API通信的web爬虫程序;名称中的斜杠是用“/”来指定日期的结果。

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

金德尔的解释如下: 对于使用标准Mac文件名分隔符冒号的Carbon层来说,这是必要的。早在1984年,Mac文件名中就允许使用斜杠。Mac用户也希望在GUI中看到冒号,而不是斜杠,作为路径名分隔符(或者至少在2001年,当这个行为被建立时他们看到了)。


Tags: 文件path方法txtos文件名macopen
2条回答

就我个人而言,我宁愿对这些文件运行批重命名工具。文件名中的斜杠通常是个坏主意。

否则,答案是r'~/Desktop/Austin/Tweets/10_7_2012_12:09-Tweets.txt'。比照Special characters in OSX filename ? (Python os.rename)

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

相关问题 更多 >

    热门问题