[問題] TMP 暫存檔

看板Python作者 (PTT)時間6年前 (2019/04/18 22:22), 編輯推噓2(206)
留言8則, 1人參與, 6年前最新討論串1/1
自學PY(越級打怪),只有一點點的C語言基礎 目前讀到一段程式碼關於TMP暫存檔,會return 檔名 每段拆開,都可以大概理解,但是合在一起的話要怎麼運用@@ 希望可以運用做到生成一個暫存檔,且利用下列程式碼,回傳檔名 要怎麼辦到阿~~~ 謝謝提點 程式碼如下: import abc import socket import io import os import os.path import platform import time ---------------------------------------------------------------------- class TMP: default_name = 'TROJAN_TEMP' default_tempdir = { 'windows': 'C:\\TEMP\\'+ default_name } def __init__(self, dirname=None, *args, **kwargs): self.system = platform.system() dirname =dirname if dirname else self.default_tempdir.get(self.system) self.set_tempdir(dirname) print(self.system) ----------------------------------------------------------------------- 1. 如果dir 預設路徑 = None dirname = 'C:\\TEMP\\'+ 'TROJAN_TEMP' 2. self.set_tempdir(dirname) <---這段的意思是 dirname 會自動成為 set_tempdir 的參數嗎 ----------------------------------------------------------------------- def set_tempdir(self, name): if not name: raise ValueError('Invalid directory name') self.tempdir = os.path.abspath(name) if os.path.exists(self.tempdir) and not os.path.isdir(self.tempdir): raise FileExistsError('\'%s\' file exists' % self.tempdir) 這段就不太懂了,大概是比對路徑是否有相同吧? ------------------------------------------------------------------------ def get_tempdir(self, subdir=None): if subdir: return os.path.join(self.tempdir, subdir) return self.tempdir 子目錄 ------------------------------------------------------------------------- def get_tempname(self, prefix='',suffix='',subdir=None): filename = os.path.join(self.get_tempdir(subdir), prefix + str(time.time())+ suffix) return filename 回傳 temp 檔名 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.116.17 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1555597329.A.61E.html

04/19 13:44, 6年前 , 1F
不是自動 set是他調自己函數改了instance variable
04/19 13:44, 1F

04/19 13:45, 6年前 , 2F
set_dirname就是 先判斷有沒有input沒有的話raise error
04/19 13:45, 2F

04/19 13:45, 6年前 , 3F
有的話判斷是不是路徑存在並且是資料夾 是的話就set dir
04/19 13:45, 3F

04/19 13:45, 6年前 , 4F
name
04/19 13:45, 4F

04/19 13:49, 6年前 , 5F
get_tempname 就是用時間來產生會變動的暫存檔名 整理
04/19 13:49, 5F

04/19 13:49, 6年前 , 6F
使用方式就是 tmp = TMP() tmp.set_dirname(xxx) 決定
04/19 13:49, 6F

04/19 13:49, 6年前 , 7F
暫存檔主目錄位置 tmp.get_name(參數隨便你定) 就可以
04/19 13:49, 7F

04/19 13:49, 6年前 , 8F
拿到暫存檔名
04/19 13:49, 8F
文章代碼(AID): #1Sk8WHOU (Python)
文章代碼(AID): #1Sk8WHOU (Python)