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

在Python中,写入文本文件不起作用,python,python-3.5,Python,Python 3.5,所以我一直在用Python3做一个项目,我需要在一个.txt文件中存储一些数据。当我运行代码时,没有错误消息,它甚至没有创建文件。请帮忙 代码如下: text = 'Sample text.' saveFile = open('file.txt','w') saveFile.write(text) saveFile.close() 确保调用.close()函数,而不是简单地引用最后一行中的方法。请注意,该文件将在.py模块所在的同一目录中创建,因此请确保您在正确的位置查找输出。您确定有权写入该

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

代码如下:

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

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

您确定有权写入该文件吗

代码最好如下所示

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

text = 'Sample text.'

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

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

open('sample.txt', 'a').close()
如果已经创建了文件,那么在代码中添加这一行不会有什么坏处,因为它打开文件并关闭,而不添加任何内容。但是,如果它不存在,它将使用python(我认为)使用的特定编码创建它,因此您不必担心这一点。之后,您的代码应该可以工作:

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

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

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)

saveFile.close()
。或者更好的方法是,将
块一起使用。谢谢,我试过了,但还是不起作用。将代码更改为
saveFile.close()
对我来说很有效。你能再检查一下你是怎么做的吗,因为它应该是有效的。您还可以添加最后一行来读取和打印文件以进行调试:
print(open('file.txt').read())
您是从命令行运行代码还是单击以运行代码?您可以添加
导入操作系统;打印(os.path.abspath(os.getcwd())
以查看scirpt正在运行的位置。您正在写入当前工作目录。。。这不是你想象中的目录。使用我发布的代码写出文件夹名称。你想把它写在哪里?绝对路径或基于主目录的路径是常见的目标。好吧,我找到了创建的文件,但当我将其移动到某个位置(如桌面)并尝试再次写入时,什么都没有发生。如果.txt文件不再与Python模块位于同一目录中,则必须将特定文件路径引用到该文件<代码>C:\Users\User\Desktop\sample.txt或类似的东西。好的。我试过了,收到了一条错误消息,“在目录中找不到sample.txt”…请确保使用了正确的目录--通常可以右键单击文件并查看文件的显式路径的属性。这不会有帮助。如果文件不存在,“w”将创建该文件。它没有任何好处。。。文件不是用持久编码创建的。任何读写它的代码都需要知道编码是什么。“w”确实应该创建它,但并不总是这样。几个月前,我发现用“a”创建文件可以消除代码中的一些bug,从那时起我就一直在使用它。在这种情况下,这没有帮助。文件正在写入,只是不是OP认为应该写入的地方。