这是我的第二篇文章,如果我做错了事我道歉 - 我会尽量简明扼要。
我做了一些搜索,大多数转义必须处理嵌入的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')
一切都无济于事。
如果有人愿意教一个天真的本科生,那么对于如何处理正斜杠的解释将是受欢迎的。
我在Leopard上使用Mac OSX。我正在运行一个与Twitter Streaming API进行通信的网络爬虫;名称中的斜杠是使用" /"保存它们的结果。指定日期。
解: 您可以在Mac OSX上的文件名中使用正斜杠。 从文件系统的角度来看,/实际上是冒号,它被转换为/在Finder中。
下面的解释: 对于使用标准Mac文件名分隔符,冒号的Carbon图层来说,它是必需的。 Mac文件名在历史上一直被允许回到1984年.Mac用户也希望在GUI中看到冒号而不是斜线作为路径名分隔符(或者至少在2001年,当这种行为被建立时)。
答案 0 :(得分:6)
我假设您正在使用类似Unix的操作系统,我的理解是在此类系统中的文件名中不允许使用正斜杠。如果您ls
中~/Desktop/Austin/Tweets/
,您会看到什么?
答案 1 :(得分:2)
就个人而言,我宁愿在这些文件上运行批量重命名工具。文件名中的斜线通常是一个坏主意。
否则,答案是r'~/Desktop/Austin/Tweets/10_7_2012_12:09-Tweets.txt'
。比照Special characters in OSX filename ? (Python os.rename)