从另一个python文件issu导入类

2024-04-26 09:43:06 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我想从python中的另一个文件导入一个类,一切正常,但是我想导入的类收到一个命令行参数。导入(成功)后,如何在类中提供该命令行参数?(旁白:注是这是超类还是什么?idk(这意味着什么)

#class I'm importing
class trend: 

def __init__(self):
    self.user_name = sys.argv[1] #receives commandline argument

_______________________________________________________________

#class I want to use it in
class game: 

    def __init__(self):
        self.twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

    def do_something(self):
        import filenameforthetrendclass as TC
        game = TC.trend() #how do I bring in the commandline argument in here?

Tags: 命令行inselftokengameapp参数secret
1条回答
网友
1楼 · 发布于 2024-04-26 09:43:06

在顶层以外的任何地方使用sys.argv是个坏主意(main,如果你有)。你应该把这件事告诉我。你知道吗

首先,重写Trend,将user_name作为其构造函数的参数。你知道吗

仅使用Trend的快速示例:

class Trend(object):

    def __init__(self, user_name):
        self.user_name = user_name

trend = Trend(sys.argv[1])

现在整合整个概念:

import sys
from filenameforthetrendclass import Trend

class Game(object):

    def __init__(self):
        self.twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

    def do_something(self, user_name):
        a_trend = Trend(user_name)      # was originally 'game = '


def main():
    game = Game()
    game.do_something(sys.argv[1])

注意事项:

  • 我用大写的名字上课
  • 我肯定没有一个名为game的类,然后使用game作为局部变量。你知道吗

相关问题 更多 >