久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

我可以使用 Python 將內(nèi)存中的對(duì)象上傳到 FTP 嗎

Can I upload an object in memory to FTP using Python?(我可以使用 Python 將內(nèi)存中的對(duì)象上傳到 FTP 嗎?)
本文介紹了我可以使用 Python 將內(nèi)存中的對(duì)象上傳到 FTP 嗎?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

這是我現(xiàn)在正在做的事情:

Here's what I'm doing now:

mysock = urllib.urlopen('http://localhost/image.jpg')
fileToSave = mysock.read()
oFile = open(r"C:image.jpg",'wb')
oFile.write(fileToSave)
oFile.close
f=file('image.jpg','rb')
ftp.storbinary('STOR '+os.path.basename('image.jpg'),f)
os.remove('image.jpg')

將文件寫(xiě)入磁盤(pán)然后立即刪除它們似乎是系統(tǒng)上應(yīng)該避免的額外工作.我可以使用 Python 將內(nèi)存中的對(duì)象上傳到 FTP 嗎?

Writing files to disk and then imediately deleting them seems like extra work on the system that should be avoided. Can I upload an object in memory to FTP using Python?

推薦答案

因?yàn)?duck-typing,文件對(duì)象(代碼中的f)只需要支持.read(blocksize)調(diào)用就可以使用storbinary.當(dāng)遇到這樣的問(wèn)題時(shí),我會(huì)去源頭,在本例中是 lib/python2.6/ftplib.py:

Because of duck-typing, the file object (f in your code) only needs to support the .read(blocksize) call to work with storbinary. When faced with questions like this, I go to the source, in this case lib/python2.6/ftplib.py:

def storbinary(self, cmd, fp, blocksize=8192, callback=None):
    """Store a file in binary mode.  A new port is created for you.

    Args:
      cmd: A STOR command.
      fp: A file-like object with a read(num_bytes) method.
      blocksize: The maximum data size to read from fp and send over
                 the connection at once.  [default: 8192]
      callback: An optional single parameter callable that is called on
                on each block of data after it is sent.  [default: None]

    Returns:
      The response code.
    """
    self.voidcmd('TYPE I')
    conn = self.transfercmd(cmd)
    while 1:
        buf = fp.read(blocksize)
        if not buf: break
        conn.sendall(buf)
        if callback: callback(buf)
    conn.close()
    return self.voidresp()

正如評(píng)論,它只需要一個(gè)類文件對(duì)象,實(shí)際上它甚至不是特別像文件,它只需要 read(n).StringIO 提供了這樣的內(nèi)存文件"服務(wù).

As commented, it only wants a file-like object, indeed it not even be particularly file-like, it just needs read(n). StringIO provides such "memory file" services.

這篇關(guān)于我可以使用 Python 將內(nèi)存中的對(duì)象上傳到 FTP 嗎?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Why I cannot make an insert to Python list?(為什么我不能插入 Python 列表?)
Insert a column at the beginning (leftmost end) of a DataFrame(在 DataFrame 的開(kāi)頭(最左端)插入一列)
Python psycopg2 not inserting into postgresql table(Python psycopg2 沒(méi)有插入到 postgresql 表中)
list extend() to index, inserting list elements not only to the end(list extend() 索引,不僅將列表元素插入到末尾)
How to add element in Python to the end of list using list.insert?(如何使用 list.insert 將 Python 中的元素添加到列表末尾?)
TypeError: #39;float#39; object is not subscriptable(TypeError:“浮動(dòng)對(duì)象不可下標(biāo))
主站蜘蛛池模板: 久久精品小短片 | 中文字幕一区在线 | 国产午夜精品一区二区三区 | 久久久日韩精品一区二区三区 | 亚洲91精品 | 国产精品高清一区二区 | 欧美黄 片免费观看 | 超碰最新在线 | 欧美一级精品片在线看 | 一区二区三区在线观看视频 | 国产欧美一区二区三区在线看蜜臀 | 国产资源在线观看 | av中文字幕在线观看 | 高清av电影 | 成人欧美一区二区三区在线播放 | 精品欧美一区二区在线观看欧美熟 | 户外露出一区二区三区 | 国产欧美日韩视频 | 中文字幕一区在线 | 国产高清视频在线观看 | 久久精品亚洲成在人线av网址 | 久久久久久美女 | 国产色婷婷精品综合在线播放 | 国产高清不卡 | 综合婷婷| 国产污视频在线 | 日韩视频在线一区 | 麻豆国产一区二区三区四区 | 日韩免费高清视频 | 成年人精品视频 | 国产精品久久久久久久久动漫 | 成人性视频在线 | 成人在线不卡 | 范冰冰一级做a爰片久久毛片 | 中国黄色毛片视频 | 人人鲁人人莫人人爱精品 | 精品国产乱码久久久久久蜜柚 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 成年人黄色一级毛片 | 欧美8一10sex性hd| 中文字幕在线观看一区二区 |