Я пытаюсь написать простую функцию, которая при задании параметров имени словаря и ключа вернет правильное значение. В основном это будет просто краткий справочник по установке сальника правильного размера на кабеле правильного размера с правильным количеством жил.
Вот что у меня есть:
cable120 = { 2 : '40mm', 3 : '40mm', 4 : '50mm' }
cable150 = { 2 : '40mm', 3 : '50s', 4 : '50mm' }
cable185 = { 2 : '50s', 3 : '50mm', 4 : '63s' }
cable240 = { 2 : '50mm', 3 : '63s', 4 : '63mm' }
def glandsize(csa,cores):
try :
print(csa[cores])
except :
print('Command not recognised. Please try Again.')
print (' Use As Follows glandsize(cable??, cores)\n For Example If Cable Is 16mm 3 core,\n glandsize(cable16,3')
#glandsize(cable185,2)
Теперь я сохраняю этот файл как GlandSize.py и помещаю его в путь, чтобы я мог импортировать его из командной консоли для использования.
Вот что происходит, когда я пытаюсь использовать его в оболочке:
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import GlandSize
>>> GlandSize.glandsize(cable185, 3)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
GlandSize.glandsize(cable185, 3)
NameError: name 'cable185' is not defined
>>>
Я не понимаю, почему? Я знаю, что если при импорте я вызываю функцию glandsize (cable185,2) в GlandSize.py, она выдает правильный результат.
Почему я не могу получить доступ к правильному словарю в модуле из оболочки?
Я знаю, что это, вероятно, действительно основная c ошибка, но, похоже, я не могу обойти ее. любая помощь будет принята с благодарностью.