私は2つの関数を持っています。以下の機能をご覧ください。別の関数の戻り値を使用する
def check_channel_number(self):
print "***************Channel Checker *********************"
print ''
user_channel_number = int(re.sub('\D', '', raw_input("Enter a channel number, (3digit): "))[:3]);
channel = ("channelNr= '%d'") % (user_channel_number)
print channel
# channel_search = channel + str(user_channel_number)
datafile = file('output.txt')
found = False
for line in datafile:
if channel in line:
found = True
print 'The channel number you entered is correct and will be deleted'
return user_channel_number
print 'The channel number you entered is not on the planner'
return False
次の関数で戻り値(user_channel_number)を使用したいだけです。私は私のスクリプトを実行すると
def delete_events(self):
if user_channel_number == True:
return 'The program number is correct and will be deleted'
# action = 'DeleteEvent'
menu_action = 'all'
book = 'RECYC:687869882'
arg_list = [('C:\\Users\\yke01\\Documents\\StormTest\\Scripts\\Completed'
'\\Utils\\UPNP_Client_Cmd_Line.py')]
arg_list.append(' --action=')
arg_list.append(action)
arg_list.append(' --ip=')
arg_list.append('10.10.8.89')
arg_list.append(' --objectId=')
arg_list.append(book)
subprocess.call(["python", arg_list])
print 'The program deleted successfully'
、それはuser_channel_number
がグローバルに定義されていないと言いますか? delete_events()
機能の中でuser_channel_number
に電話するにはどうすればよいですか?
1.あなたはint' 'に' user_channel_number'を型変換 'true'にそれを比較してみてください:あなたは、次のように、
delete_events()
の内部でその関数を呼び出すことができます。 2. 'check_channel_number'は常にfalseを返します。 3. 'delete_events'のreturn文は、実行後のすべてのコードを停止します。あなたはクラスにいるようですね? 'self.user_channel_number'を定義して、自分が入っているクラスのすべてのメソッドにアクセスできるようにすることができます。 – Signal