我的代码:
boyka = "hello"
f = open("~/Desktop/" + boyka + ".txt", "a")
f.write(boyka)
f.close
结果:
IOError: [Errno 2] No such file or directory: '~/Desktop/hello.txt'
脚本不应该创建文件,因为它是“a”吗?我该如何修复代码?
我正在使用Ubuntu。
答案 0 :(得分:2)
open()
函数不会自动将~
扩展到用户主目录。相反,它试图在具有该名称的目录中创建。我猜这不是你想要的。在这种情况下,您应该使用 - os.path.expanduser()
将~
展开到用户的主目录。示例 -
import os.path
f = open(os.path.expanduser(os.path.join("~/Desktop",boyka + ".txt")), "a")
我还建议您使用os.path.join()
创建路径,而不是手动创建路径。