项目中标记为内容的 VS22 txt文件找不到



我在一些作业中收到这个错误已经有一段时间了。


  Message=[Errno 2] No such file or directory: 'frankenstein.txt'
  Source=C:UsersrichyOneDriveDocumentsPython ScriptsCIS 521CIS 521CIS 521Homework8homework8.py
  StackTrace:
  File "C:UsersrichyOneDriveDocumentsPython ScriptsCIS 521CIS 521CIS 521Homework8homework8.py", line 171, in create_ngram_model
    with open(path, "r") as f:
  File "C:UsersrichyOneDriveDocumentsPython ScriptsCIS 521CIS 521CIS 521Homework8Test.py", line 72, in <module>
    m = create_ngram_model(1, "frankenstein.txt"); m.random_text(15)

该文件位于解决方案资源管理器项目中,构建操作是内容。我找到了一个解决方案,其中我创建路径的字符串变量,但我想了解为什么它无法找到文件以及如何纠正此问题。

test_text = os.path.join(os.path.dirname(__file__), 'frankenstein.txt')

我创建了一个包含以下内容的文件frankenstein.txt:

frankenstein

文件frankenstein.txt在文件夹C:UsersrichyOneDriveDocumentsPython ScriptsCIS 521CIS 521CIS 521Homework8
我执行了下面的代码:

path = "C:\Users\richy\OneDrive\Documents\Python Scripts\CIS 521\CIS 521\CIS 521\Homework8\frankenstein.txt"
with open(path, "r") as f:
    print(f.read())

代码输出frankenstein,所以它找到了文件frankenstein.txt

显然,我没有在您的路径中创建文件frankenstein.txt,而是在Windows系统中我的用户的documents目录中的一个文件夹中创建的。在我看来,这种差异是不相关的。

注意你的路径。您确定路径中有3个子文件夹CIS 521吗?