Python使用open()在某个目录中创建文件

时间:2015-08-31 00:50:19

标签: python

我的代码:

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。

1 个答案:

答案 0 :(得分:2)

open()函数不会自动将~扩展到用户主目录。相反,它试图在具有该名称的目录中创建。我猜这不是你想要的。在这种情况下,您应该使用 - os.path.expanduser()~展开到用户的主目录。示例 -

import os.path
f = open(os.path.expanduser(os.path.join("~/Desktop",boyka + ".txt")), "a")

我还建议您使用os.path.join()创建路径,而不是手动创建路径。