我试图弄清楚是否存在使用twisted的文件访问的事实模式.我看过的很多例子(twisted.python.log,twisted.persisted.dirdbm,twisted.web.static)实际上并不担心阻止文件访问.
似乎应该有一些明显的接口,可能继承自abstract.FileDescriptor,所有文件访问都应该作为生产者/消费者进行.
我是否遗漏了某些内容,或者仅仅是异步编程中的扭曲主要用于网络并且它还没有真正用于其他文件描述符操作,而不是担心非阻塞IO的纯度?
当我的进程结束时,我得到输出到stderr,看起来像:
Exception exceptions.TypeError: "'NoneType' object is not callable" in <function <lambda> at 0x5507d70> ignored
Run Code Online (Sandbox Code Playgroud)
我的理解是,这是由垃圾收集(del()?)中生成的异常或我知道在此应用程序中使用的weakref回调引起的.
有哪些方法可以找出它的来源?
当您执行子串操作时,python是否会创建一个全新的字符串(复制内容):
new_string = my_old_string[foo:bar]
Run Code Online (Sandbox Code Playgroud)
或者它是否使用实习来指向旧数据?
作为澄清,我很好奇底层字符缓冲区是否像Java一样共享.我意识到字符串是不可变的,并且总是看起来是一个全新的字符串,它必须是一个全新的字符串对象.