我试图真正理解这行python中发生的事情,让它将传入的数据拉入字符串而不是将其写入outfile.
ftp.retrlines("RETR " + filename, lambda s, w=outfile.write: w(s+"\n"))
Run Code Online (Sandbox Code Playgroud)
看起来后退正在获得一个命令和一个回调 - 但是还有一个额外的第三个参数.它在做什么?
另外,我理解lambdas在这里解释(看起来非常类似于javascript匿名函数回调)但是没有看到如何将其应用于这种情况,其中lamda s在第二个参数中定义 为什么Python lambdas有用?
在这个python代码中发生了太多不常见的事情.有人可以解释这一行中发生的事情.
不,函数没有可选的第三个参数retrlines,而是lambda的可选第二个参数.
该retrlines函数传递两个参数:
"RETR " + filename
Run Code Online (Sandbox Code Playgroud)
和
lambda s, w=outfile.write: w(s+"\n")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |