【发布时间】:2020-12-06 07:55:41
【问题描述】:
我正在尝试使用一个程序来读取带有 pi 数字的文件。程序和带有 pi 数字的文本文件在同一目录中,但我仍然收到错误消息:
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents.rstrip())
Traceback (most recent call last):
File "C:\Python\Python_Work\python_crash_course\files_and_exceptions\file_reader.py", line 1, in <module>
with open('pi_digits.txt') as file_object:
FileNotFoundError: [Errno 2] No such file or directory: 'pi_digits.txt'
我一直在寻找解决方案,但没有找到任何解决方案。
我发现了一段代码,据说它可以告诉我工作目录是什么。我得到一个输出,显示的目录比我有我的程序和文本文件的目录高 2 步。
import os
cwd = os.getcwd() # Get the current working directory (cwd)
files = os.listdir(cwd) # Get all the files in that directory
print("Files in %r: %s" % (cwd, files))
因此,当我将 pi 文本文档放在输出显示的目录 (>python_work) 中时,程序正在运行。当文本文件位于“files_and_exceptions”中时,它不起作用,这与程序本身所在的文件相同。我的目录在不工作时看起来像这样:
>python_work
>python_crash_course
>files_and_exceptions
file_reader.py
pi_digits.txt
show_working_directory.py
当它工作时是这样的:
>python_work
pi_digits.txt
>python_crash_course
>files_and_exceptions
file_reader.py
show_working_directory.py
我是 python 新手,非常感谢任何帮助。
谢谢!
【问题讨论】:
-
从包含
pi_digits.txt文件的目录启动脚本。或者将完整路径作为文件名提供:with open(r'C:\Python\Python_Work\python_crash_course\files_and_exceptions\pi_digits.txt'):。如果您不提供完整路径,Python 期望您的文件位于您当前的工作目录中,即您在启动脚本时所在的目录。 -
阅读本文以了解更多关于 Python 工作原理的信息:stackoverflow.com/questions/5137497/…
-
这就是我所做的,我从包含我的 pi_digits.txt 的目录开始我的脚本。