【问题标题】:reading python file and using input读取python文件并使用输入
【发布时间】:2020-12-15 13:16:47
【问题描述】:

嗨,作为我的代码的一部分,我需要读取一个 python 文件,但我不断收到错误:

other options:    {'input': 'dutch_training.txt\nenglish_training.txt\ndutch1.txt\ndutch_training.txt\nenglish_training.txt\ndutch_1.txt\n3\n.4\ndutch_training.txt\nenglish_training.txt\nenglish_1.txt\n4\n.3\ndutch_training.txt\nenglish_training.txt\ndutch_2.txt\n8\n.3\nabc\ndef\nexit\n'}
FileNotFoundError(2, 'No such file or directory')
result_code classify_unknown_text_cut   testingFailed   1

我搜索了谷歌,发现我可以使用:

os.path.abspath

这是我的代码:

def classify_unknown_text():
    a=1
    while a==1:

       file_1=os.path.abspath(input("Please enter the filename for language 1: "))
       file_2=os.path.abspath(input("Please enter the filename for language 2: "))
       clssify_file=os.path.abspath(input("Please enter the filename to classify: "))
       if clssify_file=="exit":
           a+=1
           return
       if os.path.isfile(file_1)==False or os.path.isfile(file_2)==False or os.path.isfile(clssify_file)==False:
            print("File error: some files do not exist.")

       else:
          max_length_ngram_1=int(input("Please enter the maximal length of the n-gram: "))
          threshold_1=float(input("Please enter threshold value between 0 and 0.5: "))
          file_for_dict1=open(file_1,"r")
          file_for_dict2=open(file_2,"r")
          file3_text=open(clssify_file,"r")
          text_dict_1=file_for_dict1.read()
          text_dic_2=file_for_dict2.read()
          text=file3_text.read()

          dict1=compute_ngrams_frequency(text_dict_1,max_length_ngram_1)
          dict2=compute_ngrams_frequency(text_dic_2,max_length_ngram_1)
          result=classify_language(text,dict1,dict2,threshold_1)
          if result==1:
             print("I believe the text matches the language in"+file_1)
          if result==2:
             print("I believe the text matches the language in"+file_2)

          if result==0:
             print("Sorry, I could not figure this one out!")
             #classify_unknown_text()

但我仍然不断收到同样的错误,并且不知道我还能做什么?谢谢

【问题讨论】:

    标签: python error-handling readfile


    【解决方案1】:

    如果我没记错的话,os.path.abspath 只会返回存储文件的绝对路径。如果您想打开一个文件并读取它,甚至写入它,您可以执行以下操作:

    #Opens file in read mode
    file = open("/path/to/your/file", 'r')
    

    如果你想确定文件的扩展名以确保只读取 .py 文件,那么你可以这样做:

    import os
    
    file_extension = os.path.splitext('/path/to/file')[1]
    
    #Check for extension
    if(file_extension == '.py'):
        file_open = open('/path/to/file')
    

    不知道我有没有帮助,但我希望如此!

    【讨论】:

      猜你喜欢
      • 2018-08-07
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-11-05
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多