【问题标题】:trying to open a .txt file but keep getting error message尝试打开 .txt 文件但不断收到错误消息
【发布时间】:2016-02-25 17:19:01
【问题描述】:

这是我打开文件的代码;我希望它包含名称和图形:

file_n = "Class_" + str(num_class) + ".txt"
file = open(file_n,"r")
string = file.read()
file.close()

这是我不断收到的错误消息,我不知道如何解决它:

file = open(file_n,"r")

IOError: [Errno 2] 没有这样的文件或目录:'Class_2.txt'

有人可以告诉我为什么会发生这种情况以及解决方法吗? 我还是很困惑 这是我的全部代码:

import random

import json

score = 0

turn = 1

turn = turn + 1

name = raw_input("what is your name?")

num_class = input("What class are you in? (1,2,3)")

print ("hello "+name+" have fun and good luck!")

for turn in range(10):


    randnum_1 = random.randint(1,10)
    randnum_2 = random.randint(1,10)
    operators = ["+", "-", "*"]
    operator_picked = operators[random.randint(0,2)]
    human_answer = raw_input("What is " + str(randnum_1) +" "+ operator_picked +" " + str(randnum_2) + "?")
    correct_answer = str((eval(str(randnum_1) + operator_picked + str(randnum_2))))


    if correct_answer == human_answer :
        score = score+1
        print ("Correct!")

    else:
        print ("Incorrect!" +"The correct answer is " + str(correct_answer))


print("\nYour score was " + str(score)+ "/10")


file_name = ("Class_" + str(num_class) + ".txt")

file = open(file_n,"r")

string = file.read()

file.close()

dict = {}

【问题讨论】:

  • 看起来错误正在发生,因为“Class_2.txt”不是现有文件或目录的名称。尝试其他名称。
  • 很可能,您的文件不存在于代码正在查看的目录中。您的代码正在考虑的目录是您的第一个 python 脚本启动的目录。
  • 检查当前目录 import os print(os.getcwd())
  • 或提供文件的绝对路径
  • 感谢您的帮助,但我仍然感到困惑,所以我发布了我的整个代码,非常感谢您的帮助

标签: python file


【解决方案1】:

就像 Kevin 和 Flavian 提到的 Class_2.txt 的目录很可能不是您的脚本所在的目录。

file_n = "/ActualDirectory/ofFile/Class_" + str(num_class) + ".txt"

【讨论】:

    【解决方案2】:

    确保您的 Python 代码与您的 txt 文件位于同一目录中。

    所以应该是这样的:

    当然,这两个文件可以位于不同的目录中,但是您应该为您的代码提供 txt 文件的相关或绝对路径。


    如 1001010 所述,您可以通过以下方式检查当前目录:

    import os
    print(os.getcwd()) 
    

    【讨论】:

    • 为什么我的投票被否决了?如果我说错了,我想纠正它,对于未来的读者,
    • 对不起,我是新手,我不是说它会尝试改变它
    • 这是一个好的开始@joel,检查答案并接受最好的。
    • 您是否介意进一步帮助我,因为我还没有解决问题。谢谢
    • 你在 Linux @joel 中吗?你按照我的回答做了吗?
    猜你喜欢
    • 2015-05-09
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 2017-11-10
    • 2021-02-03
    • 2017-10-02
    • 2021-12-27
    相关资源
    最近更新 更多