2015-06-29 2 views
1

Пытается создать простую программу, которая подсчитывает количество строк, слов и символов в файле. Кажется, я не могу прочитать файл, но он возвращает имя файла, а не содержимое файла. Я передал имя файла в командной строке без кавычек.Программа Python не читается в файле

print("This program will count the number of line, words, and characters in a file.") 
user_in = input("Please enter a file to be counted: ") 
infile = open(user_in, "r") 


lc = 0 
wc = 0 
w_len = 0 


for line in infile: 
    usr_list = user_in.split(" ") 
    print(usr_list) 
    lc += 1 
    for x in usr_list: 
     w_len += len(x) 
     wc += 1 

#avg = w_len//wc 
print("There were {} lines, {} words, and {} characters in your file.".format(lc, wc, w_len)) 

infile.close() 
+4

Похоже 'usr_list = user_in.split (" ")' должен быть 'usr_list = line.split ("")'? –

+0

Джон, спасибо! Не могу поверить, что я пропустил это. Усталые глаза и все такое :) – flybonzai

ответ

1

Вы делаете usr_list = user_in.split(" "), но кажется, что вы хотели бы сделать usr_list = line.split(" ")

1

Эта строка:

usr_list = user_in.split(" ") 

раскалывается на имя файла, а не на линии чтения из файла.

То, что вы должны делать:

for line in infile: 
    usr_list = line.split(" ") 
Смежные вопросы