据我所知,用ftp创建一个空文件是不可能的,你必须在本地驱动器上创建一个空文件,上传它,然后在完成后删除它。我想知道是否可以做一些类似的事情:
class FakeFile:
def read(self):
return '\x04'
ftpinstance.storbinary('stor fe', FakeFile())
我认为这可能是可行的,因为storbinary的文档说它接受一个方法为'read'的对象并调用它直到它返回EOF,\x04是ASCII EOF字符。不过,我已经尝试过了,文件在服务器上的大小是随机的千字节数。我误解什么了吗?在
实际上,文件上写着“读到EOF为止”。我通过使read函数返回一个空字符串来解决这个问题。在
无需实现自己的类文件,只需使用内置模块
StringIO
(或python3中的BytesIO
)中的内存文件:在现代用法中,文件结尾不是ascii4。这是XMODEM和电传打字机时代过时的用法。试试这个:
因为空读是EOF。在
使用当前代码,您应该得到一个完全由
'\x04'
字符组成的随机长度文件。这是因为它在读取时似乎总是有数据。^_-在相关问题 更多 >
编程相关推荐