为什么在控制台中运行时我的代码可以正常运行,而在脚本中使用时却不能正常运行?

时间:2020-06-01 19:15:21

标签: python file-handling

当我在IDE中并使用python test.py在命令提示符下尝试以下代码时,我的文本文件此后仍然为空:

with open("test.txt", "r+") as file:
    file.write("Hello World")

我很困惑,因为这以前有用。所以我在python控制台中尝试了完全相同的代码。 瞧,我的文本文件test.txt现在包含字符串Hello World

当我手动更改文本文件的内容并尝试使用该程序再次读取时,输出是我尝试早些时候写入文本文件的字符串。

与使用python控制台相比,使用脚本时尝试在文件中读写文件是否存在某种延迟?

2 个答案:

答案 0 :(得分:0)

我相信cmd位于其他地方。

您可以使用os模块在cmd中更改操作位置:

>>> import os
>>> os.chdir(path) # replace path with the path you want to write to a file in
>>> with open('text.txt','r+') as file:
...     file.write("Hello World")
...
>>>

您还可以通过输入os.getcwd()查找cmd的当前目录。或者,您可以仅将要在文件中写入的位置的路径添加到文件名:

>>> import os
>>> with open(os.path.join(path,'text.txt'),'r+') as file:
...     file.write("Hello World")
...
>>>

答案 1 :(得分:0)

尝试传递文件的绝对路径。

应该是这样

with open("/the/path/test.txt", "r+") as file:
    file.write("Hello World")