requests上傳文件后移動,提示:[WinError 32] 另一個程序正在使用此文件

最近在寫一個腳本,在使用python在上傳文件之后,移動文件到另一文件夾,過程中遇到了Bug。

首先百度了一下,各種博客中,關(guān)于requests上傳的代碼基本都類似:

url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)

當(dāng)requests.post返回后,接著執(zhí)行shutil.move(file_path, dest_dir)時,大概率報出如下錯誤:[WinError 32] 另一個程序正在使用此文件

仔細思考了下,其實這些教程的代碼都不嚴(yán)謹,open之后沒有close。于是在代碼中加入了with語句,自動close之:

def post_file(url, file_path):
    with open(file_path, 'rb') as f:
        result = requests.post(url,  files={'file': f})
    return result
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容