在Python中,我可以使用"可编辑"模式从源安装包pip install -e.然后我可以继续编辑代码,其他Python脚本会自动选择任何更改import library
是否有类似的工作流程来开发Ruby宝石?什么是使用库的"Ruby方式",因为它们正在开发,而不是每次我对源进行更改时编译和安装gem?
关于检索 FTP 文件并将其写入流(例如字符串缓冲区或文件)的堆栈溢出有几个答案,然后可以对其进行迭代。
但是,这些解决方案涉及在开始处理内容之前将整个文件加载到内存中或将其下载到磁盘。
我没有足够的内存来缓冲整个文件,而且我无权访问磁盘。这可以通过处理回调函数中的数据来完成,但我想知道是否有可能将 ftp 代码包装在一些返回迭代器的魔法中,而不是用回调填充我的代码。
IE 而不是:
def get_ftp_data(handle_chunk):
...
ftp.login('uesr', 'password') # authentication required
ftp.retrbinary('RETR etc', handle_chunk)
...
get_ftp_data(do_stuff_to_chunk)
Run Code Online (Sandbox Code Playgroud)
我想要:
for chunk in get_ftp_data():
do_stuff_to_chunk(chunk)
Run Code Online (Sandbox Code Playgroud)
并且(与现有答案不同)我想在迭代之前不将整个 ftp 文件写入磁盘或内存。