我想知道我的计算机是否以某种方式导致源自我网络的UDP泛洪.这就是我的根本问题,接下来就是我的非网络人试图使用python假设解决方案.我是从python cookbook(也在这里)的食谱13.1("使用套接字数据报传递消息")推断的.
尝试以某种方式在python中编写传出的UDP代理是否可能/明智/不疯狂,以便在以快乐的方式发送之前可以记录传出的数据包?如果是这样,怎么会这样呢?根据我的快速研究,也许我可以启动一个服务器进程侦听可疑的UDP端口并记录发送的任何内容,然后将其转发,例如:
import socket
s =socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", MYPORT))
while True:
packet = dict(zip('data', 'addr'), s.recvfrom(1,024))
log.info("Recieved {data} from {addr}.".format(**packet))
Run Code Online (Sandbox Code Playgroud)
但是同时为大量端口做这件事呢?不切实际的?是否有缺点或其他原因不打扰这个?有没有更好的方法来解决这个问题(请温柔).
我的文件看起来像这样,或多或少:
(ns foofile)
(defprotocol foo-protocol
"foo(lish example)"
(foo-method [this] "foo docs")
(defrecord Foo [biz])
(def foo (Foo. "baz"))
Run Code Online (Sandbox Code Playgroud)
我启动REPL并输入
(load-file "foofile.clj")
Run Code Online (Sandbox Code Playgroud)
它打印出来
#'foofile/foo
Run Code Online (Sandbox Code Playgroud)
现在我可以参考foofile/foo和foofile/foo-protocol,但是当我尝试foofile/Foo时,我得到了
java.lang.Exception: No such var: foofile/Foo (NO_SOURCE_FILE:0)
Run Code Online (Sandbox Code Playgroud)
如果我手动输入REPL(具体来说,我遵循这篇博文),相同(或基本相似)的代码只是花花公子.这里发生了什么?在REPL和加载文件之间有什么不同?
这是我的问题:我正在尝试解析一个大文本文件(大约15,000 KB)并将其写入MySQL数据库.我正在使用Python 2.6,脚本解析了大约一半的文件,并在冻结之前将其添加到数据库中.有时会显示文字:
的MemoryError.
其他时候它只是冻结.我想我可以通过尽可能使用发电机来避免这个问题,但我显然是错的.
我究竟做错了什么?
当我按Ctrl + C键盘中断时,它显示以下错误信息:
...
sucessfully added vote # 2281
sucessfully added vote # 2282
sucessfully added vote # 2283
sucessfully added vote # 2284
floorvotes_db.py:35: Warning: Data truncated for column 'vote_value' at row 1
r['bill ID'] , r['last name'], r['vote'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "floorvotes_db.py", line 67, in addAllFiles
addFile(file)
File "floorvotes_db.py", line 61, in addFile
add(record)
File "floorvotes_db.py", line 35, in add
r['bill …Run Code Online (Sandbox Code Playgroud) 可能是一个愚蠢的问题:为什么我不能用这个设置环境变量?
os.system('set foo=bar') # on windows
Run Code Online (Sandbox Code Playgroud)
我知道os.environ,这对我有用.我只是为什么前者不起作用感到困惑.