我在下面的代码中将一些文本存储在主目录中的〜/ .boto文件中。
但是我得到这个错误:
IOError: [Errno 2] No such file or directory: '~/.boto'
这是代码:
file = open("~/.boto") file.write("test") file.close()
您需要使用os.path.expanduser并使用以下命令打开以进行编写w:
w
import os # with will automatically close your file with open(os.path.expanduser("~/.boto"),"w") as f: f.write("test") # write to file
os.path.expanduser(路径)
在Unix和Windows上,返回带有〜或〜user初始部分的参数替换为该用户的主目录。 在Unix上,如果设置了首字母〜,则由环境变量HOME代替;否则,将通过内置模块pwd在密码目录中查找当前用户的主目录。最初的〜user直接在password目录中查找。 在Windows上,如果已设置,则将使用HOME和USERPROFILE,否则将使用HOMEPATH和HOMEDRIVE的组合。通过从上面派生的创建的用户路径中删除最后一个目录组件来处理初始用户。 如果扩展失败,或者路径不是以波浪号开头,则路径将保持不变。
在Unix和Windows上,返回带有〜或〜user初始部分的参数替换为该用户的主目录。
在Unix上,如果设置了首字母〜,则由环境变量HOME代替;否则,将通过内置模块pwd在密码目录中查找当前用户的主目录。最初的〜user直接在password目录中查找。
在Windows上,如果已设置,则将使用HOME和USERPROFILE,否则将使用HOMEPATH和HOMEDRIVE的组合。通过从上面派生的创建的用户路径中删除最后一个目录组件来处理初始用户。
如果扩展失败,或者路径不是以波浪号开头,则路径将保持不变。
In [17]: open("~/foo.py") --------------------------------------------------------------------------- IOError Traceback (most recent call last) <ipython-input-17-e9eb7789ac68> in <module>() ----> 1 open("~/foo.py") IOError: [Errno 2] No such file or directory: '~/foo.py' In [18]: open(os.path.expanduser("~/foo.py")) Out[18]: <open file '/home/padraic/foo.py', mode 'r' at 0x7f452d16e4b0>
默认情况下,仅打开文件以供读取,如果要打开文件以供使用w,f要打开以进行读写r+或附加使用a。
r+
a
如果文件中有内容,则将w被 覆盖 ;如果要添加到文件中,请使用a