Welcome to the VanDyke Software Forums

Join the discussion today!

Go Back   VanDyke Software Forums > Scripting


Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
Old 03-30-2020, 11:21 AM
pjano1 pjano1 is offline
Registered User
Join Date: Mar 2020
Posts: 7
How to import a class file into another file that uses SecureCRT


I'm trying to import a class I created into different, separate scripts. Both the script and the class use python through SecureCRT. Whenever I copy and paste the entire class into the calling script and call it this way:

class A:

def main():
a = A()

It works fine. But if I try and import it like this:

import a_file

def main():
a = a_file.A()

or like this:

from a_file import A

def main():
a = A()

It says "global name 'crt' is not defined" and won't work. I would much rather be able to define my class in a different file so I don't have to keep copying and pasting the entire thing every time I need to use it.

I've run into a similar issue before, only with function scripts I've written (they only hold functions). I found a work around for this I on another forum here a while ago, but essentially just put the following syntax in the calling script before it gets going:

import function_a

And then add the following function definition in the function script you need to call:

def init(obj):
global crt
crt = obj

I've been playing around with this to see if I can get it to work on classes as well as function scripts, but so far I've come up empty. What baffles me is why what I just put works for SecureCRT python function scripts, but the moment you try this on a script with a class definition, it doesn't work. Has anyone run into this issue before and or were able to fix it/work around it?

Reply With Quote

class , function , import error

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -6. The time now is 11:27 AM.