我试图打开一个不与该行存在的文件:Python中没有这样的文件或目录“开放通道与``模式〜/ filename` W +`
x = open("~/tweetly/auth", 'w+')
这应该打开它是否存在,然后擦除内容开始写入。 如果它不存在,它应该创建它...对吗?
事实并非如此。我得到这个错误。
IOError: [Errno 2] No such file or directory: '~/tweetly/auth'
想法?
我试图打开一个不与该行存在的文件:Python中没有这样的文件或目录“开放通道与``模式〜/ filename` W +`
x = open("~/tweetly/auth", 'w+')
这应该打开它是否存在,然后擦除内容开始写入。 如果它不存在,它应该创建它...对吗?
事实并非如此。我得到这个错误。
IOError: [Errno 2] No such file or directory: '~/tweetly/auth'
想法?
的~
别名的主目录是一个shell主义(东西外壳为您做的),不是你可以使用Python open
命令使用方法:
pax:~$ cd ~
pax:~$ ls qq.s
qq.s
pax:~$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> open("~/qq.s")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: '~/qq.s'
>>> open("./qq.s")
<open file './qq.s', mode 'r' at 0xb7359e38>
>>> _
虽然这是事实,Python的open
做不支持~
展开直接,你可以结合Python标准库函数os.path.expanduser使用它:
>>> import os
>>> os.path.expanduser("~/qq.s")
'/Users/nad/qq.s'
>>> open(os.path.expanduser("~/qq.s"), 'w+')
<open file '/Users/nad/qq.s', mode 'w+' at 0x1049ef810>
嘿,这是_damn_方便,我甚至不知道那一个。 +1。 – paxdiablo
它在包括Windows在内的所有Python平台上都受支持。 –
像这样:)大量使用'os' – tekknolagi
确定的路径'〜/ tweetly /'存在且是甲阶酚醛ved是否正确? – alex
自己检查了一下。我正在从用户'tekknolagi'执行它,因此它应该解析为'/ home/tekknolagi/...'对吗? – tekknolagi
取决于是否认为'〜'是用户的主目录。在这种情况下,我没有这样做。 – alex