Python open()-打开通过UI创建的文件,而不是通过控制台创建的文件

Python open()-打开通过UI创建的文件,而不是通过控制台创建的文件,python,function,file,Python,Function,File,我开始学习Python,这是我关于堆栈溢出的第一个问题。 我最近在做一些文件处理,在尝试打开一个文件进行测试时遇到了一个错误 f = open("fi.txt", "r") 问题是,我总是遇到这样的错误: Traceback (most recent call last): File "C:\Users\USER\OneDrive\Documents\Python\Beginner\FileHandle2.py", line 9, in <module> f = open("fi.

我开始学习Python,这是我关于堆栈溢出的第一个问题。 我最近在做一些文件处理,在尝试打开一个文件进行测试时遇到了一个错误

f = open("fi.txt", "r")
问题是,我总是遇到这样的错误:

Traceback (most recent call last):
File "C:\Users\USER\OneDrive\Documents\Python\Beginner\FileHandle2.py", line 9, in <module>
f = open("fi.txt", 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'fi.txt'
文件“fi2.txt”已在我的文件夹中正确创建,在执行以下操作时,我可以毫无错误地调用它:

f = open("testy.txt", 'r')
因此,我想知道发生了什么事? “fi.txt”是通过UI创建的(在Windows 10中,右键单击>新建>文本文档),而“fi2.txt”是通过Python控制台创建的

直到现在我才知道该怎么做,但我想解释一下这种行为。
谢谢你,伙计们

我找到了原因,这真是愚蠢。 在Windows 10上创建文本文件时,实际上不需要添加.txt扩展名,Windows 10会自动添加它。此外,文本文件也将不显示扩展名

我很习惯自己键入扩展名tbh,所以我从来没有注意过我正在制作的文本文件

基本上,在VS代码中,我的文件名是:

fi.txt.txt

我发现了原因,这真的很愚蠢。 在Windows 10上创建文本文件时,实际上不需要添加.txt扩展名,Windows 10会自动添加它。此外,文本文件也将不显示扩展名

我很习惯自己键入扩展名tbh,所以我从来没有注意过我正在制作的文本文件

基本上,在VS代码中,我的文件名是:

fi.txt.txt

我将在执行时查看python的当前工作目录
import os
print(os.getccwd())
,然后确保文件位于正确的位置
print(os.listdir(os.getcwd())
Python仅使用
sys.path
import
期间定位.py模块,而不用于任意数据文件。您需要指定文件的完整路径,或更改当前工作目录,使其成为文件所在的目录。谢谢您的回答!LazyScripter,我确实检查了这个命令来打印当前的工作目录,我确实在正确的目录中,我的fi.txt和Python文件都在这个目录中。Martineau,我还以不同的方式指定了完整路径,使用double\\、single\,甚至使用/and//的其他方式,但找不到解决方案。因为在我用Python创建文件并稍后打开它时,它正在工作,所以我的这个问题并不是很紧急,希望以后不会被卡住。我将在执行时查看python当前的工作目录
import os
print(os.getccwd())
,然后确保文件位于正确的位置
print(os.listdir(os.getcwd())
Python仅使用
sys.path
import
期间定位.py模块,而不用于任意数据文件。您需要指定文件的完整路径,或更改当前工作目录,使其成为文件所在的目录。谢谢您的回答!LazyScripter,我确实检查了这个命令来打印当前的工作目录,我确实在正确的目录中,我的fi.txt和Python文件都在这个目录中。Martineau,我还以不同的方式指定了完整路径,使用double\\、single\,甚至使用/and//的其他方式,但找不到解决方案。因为在我用Python创建文件并稍后打开它时,它正在工作,所以我的这个问题不是真的很紧急,希望以后不会卡住我。