天天看點

python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~

參考連接配接

https://www.cnblogs.com/dream4567/p/10819472.html

Windows作業系統

單獨運作這些沒問題,但是當我調用的時候,會出現問題,總結那塊闡述 ~

1、當有 delete=False 會存在C槽,C:\Users\LIUWENYU\AppData\Local\Temp\tmppzweoxnj
2、當沒有 delete=False,程式運作完會自動删除,不儲存
from tempfile import NamedTemporaryFile

# with NamedTemporaryFile('w+t',delete=False) as f:
with NamedTemporaryFile('w+t') as f:
    print('filename:',f.name)

# 結果:
# filename: C:\Users\LIUWENYU\AppData\Local\Temp\tmppzweoxnj
           

官網:https://docs.python.org/2/library/tempfile.html

Linux系統:

咋樣都能用 ~,是以沒問題

總結:

系統 with NamedTemporaryFile(‘w+b’,delete=False) as tmp: with NamedTemporaryFile(‘w+b’) as tmp:
Windows 正常運作,運作結束保留臨時檔案 不能運作,不保留臨時檔案
Linux 正常運作,運作結束保留臨時檔案 正常運作,運作結束不保留臨時檔案

注意: 上述Windows系統,複制代碼,看C槽,可以試驗一下;當我封裝類,調用的時候會報錯,下面小記闡述

個人小記:

windows系統:

首先,我是通過代碼,生成一個excel,然後通過url,資料流方式,下載下傳;

(實作這個目的)

python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~

1、當我使用 with NamedTemporaryFile(‘w+b’) as tmp:

python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~

2、網頁直接報錯!!!

python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~

3、代碼錯誤提示!!!

Permission denied: 'C:\Users\LIUWENYU\AppData\Local\Temp\tmpr_vpfba3’

原因: 大概意思是,當這個臨時檔案處于打開狀态,在unix平台,該名字可以用于再次打開臨時檔案,但是在windows不能。是以,如果要在windows打開該臨時檔案,需要将檔案關閉,然後再打開,操作完檔案後,再調用os.remove删除臨時檔案。

參考文章:https://blog.csdn.net/leo881205/article/details/79274836

python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~

4、換成: with NamedTemporaryFile(‘w+b’,delete=False) as tmp:

雖然可以下載下傳,但是保留了臨時檔案

python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~
python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~

Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~

python 建立臨時檔案 NamedTemporaryFile ,出現 Permission denied參考連接配接Windows作業系統Linux系統:總結:Linux 系統咋樣都好使 ~ 哈哈哈哈,于是使用~