这是我的第二篇文章,如果我做错了什么,我道歉-我会尽量简洁。
我做了一些搜索,大多数转义都必须处理嵌入的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年,当这个行为被建立时他们看到了)。
就我个人而言,我宁愿对这些文件运行批重命名工具。文件名中的斜杠通常是个坏主意。
否则,答案是
r'~/Desktop/Austin/Tweets/10_7_2012_12:09-Tweets.txt'
。比照Special characters in OSX filename ? (Python os.rename)我假设您使用的是类Unix操作系统,我的理解是在这样的系统中文件名中不允许使用正斜杠。如果你在
~/Desktop/Austin/Tweets/
中ls
,你会看到什么?相关问题 更多 >
编程相关推荐