Я уже некоторое время пытаюсь выучить Python.Случайно я наткнулся на 6-ю главу официального урока через поисковую ссылку Google, указывающую здесь .Когда я узнал на этой странице, что функции - это сердце модулей, и что модули можно вызывать из командной строки, я был совершенно уши.Вот моя первая попытка сделать и то, и другое: openbook.py
import nltk, re, pprint
from __future__ import division
def openbook(book):
file = open(book)
raw = file.read()
tokens = nltk.wordpunct_tokenize(raw)
text = nltk.Text(tokens)
words = [w.lower() for w in text]
vocab = sorted(set(words))
return vocab
if __name__ == "__main__":
import sys
openbook(file(sys.argv[1]))
. Я хочу, чтобы эта функция была импортируемой как модуль openbook, а также чтобы openbook.py извлекал файл из командной строки.и сделайте все это с ним.
Когда я запускаю openbook.py из командной строки, это происходит:
gemeni@a:~/Projects-FinnegansWake$ python openbook.py vicocyclometer
Traceback (most recent call last):
File "openbook.py", line 23, in <module>
openbook(file(sys.argv[1]))
File "openbook.py", line 5, in openbook
file = open(book)
Когда я пытаюсь использовать его как модуль, это происходит:
>>> import openbook
>>> openbook('vicocyclometer')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
Итак, что я могу сделать, чтобы исправить это, и, надеюсь, продолжить долгий извилистый путь к просветлению?