Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 尝试打开同一目录中的文件时发生FileNotFoundError_Python 3.x - Fatal编程技术网

Python 3.x 尝试打开同一目录中的文件时发生FileNotFoundError

Python 3.x 尝试打开同一目录中的文件时发生FileNotFoundError,python-3.x,Python 3.x,txt文件保存在与我的代码完全相同的文件夹中,但当我运行它时,我得到了回溯。我右键单击直接保存到文件夹的文件,但在运行代码vs studio时。对于这个基本问题,我是个新手 file = open('regex_sum_1114202.txt', 'r') 回溯: Traceback (most recent call last): File "c:\Users\EM2750\Desktop\py4e\ex_11\ex_11.py", line 2, in <mo

txt
文件保存在与我的代码完全相同的文件夹中,但当我运行它时,我得到了回溯。我右键单击直接保存到文件夹的文件,但在运行代码vs studio时。对于这个基本问题,我是个新手

file = open('regex_sum_1114202.txt', 'r')
回溯:

Traceback (most recent call last):
  File "c:\Users\EM2750\Desktop\py4e\ex_11\ex_11.py", line 2, in <module>
    file = open('regex_sum_1114202.txt', 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'regex_sum_1114202.txt'
回溯(最近一次呼叫最后一次):
文件“c:\Users\EM2750\Desktop\py4e\ex_11\ex_11.py”,第2行,在
file=open('regex\u sum\u 1114202.txt','r')
FileNotFoundError:[Errno 2]没有这样的文件或目录:“regex\u sum\u 1114202.txt”

试试
file=open('./regex\u sum\u 1114202.txt,'r')

  • 这明确指定Python应该通过提供相对路径在当前目录中查找文件。将该点视为当前工作目录的简写。因此,如果当前工作目录是脚本和文件所在的目录,那么应该可以工作
  • 使用正斜杠(
    /
    )而不是反斜杠(
    \
    )。反斜杠是Windows上的默认目录分隔符,但在这里它们会产生问题,因为Python将它们解释为转义序列。或者,您可以使用两个反斜杠作为目录分隔符:
    \\

您还可以尝试在文件名之前指定完整路径:
file=open('c:/Users/EM2750/Desktop/py4e/ex_11/regex_sum_1114202.txt','r')
。当然,缺点是如果移动文件,路径将不再正确。

您与代码不在同一目录中。从dir1运行代码时,给出dir2中代码的路径。但是“打开”将从当前目录打开文件,而不是从代码所在的目录打开文件。因此,在本例中,它是在dir1中查找文件,而该文件不存在。请避免将stacktrace粘贴为图像,您应该将其粘贴为格式化文本(例如,代码,在三个反引号之间)。@Chris Doyle。请解释如何在同一目录中运行代码。我还是新手,正在学习,所以您的代码和文件在dir1中,但您的代码和文件在dir2中。或者更改为dir2并运行代码,然后您将能够读取文件,因为您将处于正确的dir中。或者在代码中指定filefile=open('c:/Users/EM2750/Desktop/py4e/ex_11/regex_sum_1114202.txt,'r')的完整路径,很好,谢谢