Python在使用Open时不会创建新文件(" filename.txt"," w +");

时间:2017-12-03 20:43:46

标签: python-3.x jupyter-notebook jupyter file-writing

我正在尝试使用python 3将数据写入输出.txt文件以供其他程序读取。

当我只使用我的终端或不同的IDE时,这是有效的,但是当我使用Jupyter Notebook编写此代码时,它不会创建新文件,如果它已经存在于同一目录中,也不会写入该文件作为该计划。

file = open('testTxt3.txt','w+');
file.write('One To Three, For Five');
file.close();

我使用" w +"告诉Python创建它写入的文件(如果它不存在),但文件" testTxt3.txt"没有创建。当我手动创建文件并将其放在与程序相同的目录中时,它将不会写入该文件。

Python没有给出任何错误,这个问题似乎只在使用Jupyter Notebook时出现。不幸的是,这段代码需要在Jupyter中工作,我不能简单地使用不同的IDE。我错过了使用Jupyter所需的步骤吗?

使用configparse编辑同一目录中的.ini文件时也会发生此错误。

感谢任何和所有帮助。

编辑:我已经解决了这个问题。看起来只有当它是当前Notebook中的顶级单元格时才有效。现在它可以独立工作。

如何在MSPaint中旋转文字标记此问题已解答?

我已经解决了这个问题。看起来只有当它是当前Notebook中的顶级单元格时才有效。现在它可以独立工作。

2 个答案:

答案 0 :(得分:1)

我不知道你的IDE,但可能代码是在另一个目录中运行的。有两种选择:

  • 尝试使用绝对路径(例如Windows上的C:\ Users \ ... \ testTxt3.txt或Linux上的/home/.../testTxt3.txt)

  • 搜索名为" testTxt3.txt"的文件在其他目录中的驱动器上。它可能在任何地方......

答案 1 :(得分:1)

使用文件时,最好使用以下约定,这样您就不必担心关闭文件了:

with open('testTxt3.txt', 'w+') as file:
    file.write('One To Three, For Five')