您好我想从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?
答案 0 :(得分:0)
在任何地方使用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
作为局部变量。