我在Main.py中定义了一个名为sock的套接字。从Main.py导入function s.py,这里有一个名为sendMessage的函数(或者一个方法,不知道在Python中如何调用它们)。在sendMessage中,我需要使用Main.py中定义的sock。我该怎么做?我试过在函数/方法中添加global sock
,但没有效果。
#! /usr/bin/env python
import sys
import socket
import string
import os
import commands
import time
from config import *
from functies import *
from php import *
sock = socket.socket ()
sock.connect ((config['server']['host'], config['server']['poort']))
...
#! /usr/bin/env python
def sendMessage (receiver, message):
global sock
sock.send ('PRIVMSG ' + ontvanger + ' :' + message + '\n')
Traceback (most recent call last):
File "Main.py", line 68, in <module>
sendMessage (receiver, config['nick'] + ' is here!')
File "/home/robin/microPy/Functions.py", line 4, in sendMessage
sock.send ('PRIVMSG ' + receiver + ' :' + message + '\n')
NameError: global name 'sock' is not defined
Python中没有php样式的模块覆盖全局变量。相反,让
sendMessage
将套接字作为参数,如下所示:你的
functions.py
不知道sock
是什么。尝试将sock实例作为参数传递。相关问题 更多 >
编程相关推荐