【问题标题】:Python write() method and close() function not working with latest version of Visual Studio Code. Code works with Python 3.8.5 ShellPython write() 方法和 close() 函数不适用于最新版本的 Visual Studio Code。代码适用于 Python 3.8.5 Shell
【发布时间】:2021-09-24 21:05:35
【问题描述】:

不久前,我的朋友安装了 Visual Studio Code(连同 python 扩展),它一直很棒,直到我开始学习文件输入和输出。我的字符串没有使用 write() 方法并在最后使用 close() 函数保存到所需的 .txt 文件中。计算机未检测到错误。 .py 和 .txt 文件位于同一文件夹中。在 close() 函数之前使用 flush() 方法也不起作用。

如果使用默认的 Python 3.8.5 Shell 而不是最新版本的 Visual Studio Code,则相同的代码可以成功写入 .txt 文件,没有任何问题。到目前为止,谷歌搜索这个问题没有产生任何结果。我什至不确定应该使用哪些关键字来寻找答案。我使用的是 Windows 10 专业版。

var_1 = 123
outputFile = open("outputFile.txt", "w")

outputFile.write(str(var_1))

#outputFile.flush() #tried using flush but didn't do anything

outputFile.close()

【问题讨论】:

  • 该代码没有任何问题。该文件正在写入当前目录,这对于默认 Python 和 Visual Studio 是不同的。您可以使用此代码打印当前目录:import os; print(os.getcwd())
  • 不要使用file.close(),使用上下文管理器

标签: python windows file


【解决方案1】:

你好尝试添加文件的确切地址

File = open("C:\...\yourfilename","r")
In_file = File.read()
File.close()

Visual Studio 在其 exe 目录中查找文件

【讨论】:

  • 谢谢你成功了!我不得不放双 \\ 因为它把它解释为一个转义序列。
【解决方案2】:

您应该在打开文件时提及完整路径位置。

您的代码现在可以工作了。

var_1 = 123
outputFile = open(r"C:\....\outputFile.txt", "w")

outputFile.write(str(var_1))

#outputFile.flush() #tried using flush but didn't do anything

outputFile.close()

【讨论】:

  • 谢谢你成功了!我不得不放双 \\ 因为它把它解释为一个转义序列。
  • @TheCorginator,好的。您还可以将字符串转换为 raw_string 并仅使用一个 \
猜你喜欢
  • 2022-08-18
  • 2020-06-13
  • 2016-09-05
  • 2023-02-08
  • 2021-05-24
  • 2018-11-27
  • 2019-01-25
  • 2021-08-20
  • 1970-01-01
相关资源
最近更新 更多