打开文件时尝试/除非运行不正常

时间:2019-05-06 04:41:57

标签: python python-3.x exception

我正在尝试使用此Try / Except块打开文件,但它直接转到Except而不是打开文件。

我尝试打开多个不同的文件,但是它们直接导致无法打开。

import string

fname = input('Enter a file name: ')

try:
    fhand = open(fname)
except:
    print('File cannot be opened:', fname)
    exit()

counts = dict()
L_N=0
for line in fhand:
    line= line.rstrip()
    line = line.translate(line.maketrans(' ', ' ',string.punctuation))
    line = line.lower()
    words = line.split()
    L_N+=1
    for word in words:
        if word not in counts:
            counts[word]= [L_N]
        else:
            if L_N not in counts[word]:
                counts[word].append(L_N)
for h in range(len(counts)):
    print(counts)
out_file = open('word_index.txt', 'w')
out_file.write('Text file being analyzed is: '+str(fname)+ '\n\n')
out.file_close()

我希望输出读取特定文件并计算创建的字典

1 个答案:

答案 0 :(得分:1)

  1. 如果使用python 2.7,请确保输入文件名(“ myfile.txt”)的引号。如果是python3,则不需要引号。
  2. 确保您的输入使用的是文件的绝对路径,或者确保文件与运行python程序的位置相同。

例如, 如果您的程序和当前工作目录在〜/ code /中 然后输入:'myfile.txt','myfile.txt'必须存在于〜/ code /

但是,最好为您的输入文件提供绝对路径,例如

/home/user/myfile.txt

然后,无论您从哪个目录调用脚本,脚本都将在100%的时间内运行。