在Python中,写入文本文件不起作用

时间:2017-03-17 01:05:13

标签: python python-3.5

所以我一直在使用python 3进行项目,我需要在.txt文件中存储一些数据。当我运行代码时,没有错误消息,它甚至不创建文件。请帮忙。

以下代码:

text = 'Sample text.'
saveFile = open('file.txt','w')
saveFile.write(text)
saveFile.close()

4 个答案:

答案 0 :(得分:2)

您正在将文件写入当前工作目录,但该目录不是您想要的目录。您可以通过生成这些目录的绝对路径来编写相对于您的主目录或桌面目录的文件。

import os
home_dir = os.path.expanduser('~')
desktop_dir = os.path.join(home_dir, 'Desktop')

现在您可以将它用于您的文件。注意我使用的是上下文管理器,因此我不必显式关闭文件:

text = 'Sample text.'
with open(os.path.join(desktop_dir, 'file.txt'),'w') as savefile:
    saveFile.write(text)

答案 1 :(得分:0)

确保调用.close()函数,而不是简单地引用最后一行的方法。请注意,该文件将在.py模块所在的目录中创建,因此请确保您在正确的位置查找输出。

答案 2 :(得分:0)

你确定写文件的权限

代码更好,如下所示

#!/usr/bin/env python
# coding:utf-8
'''黄哥Python'''

text = 'Sample text.'

with open('sample.txt', 'w') as f:
    f.write(text)

答案 3 :(得分:0)

文件是否存在?使用此代码创建它。

open('sample.txt', 'a').close()

如果文件已经创建,那么在代码上使用该行会受到伤害,因为它会打开文件并在不添加任何内容的情况下关闭。但是,如果它不存在,它会使用python使用的特定编码创建它(我认为),所以你不必担心这一点。之后,您的代码应该可以工作:

text = 'Sample text.'
saveFile = open('file.txt','w')
saveFile.write(text)
saveFile.close()