作者pi2324 (PTT)
看板Python
标题[问题] TMP 暂存档
时间Thu Apr 18 22:22:07 2019
自学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://webptt.com/cn.aspx?n=bbs/Python/M.1555597329.A.61E.html
1F:推 lemon651: 不是自动 set是他调自己函数改了instance variable 04/19 13:44
2F:→ lemon651: set_dirname就是 先判断有没有input没有的话raise error 04/19 13:45
3F:→ lemon651: 有的话判断是不是路径存在并且是资料夹 是的话就set dir 04/19 13:45
4F:→ lemon651: name 04/19 13:45
5F:推 lemon651: get_tempname 就是用时间来产生会变动的暂存档名 整理 04/19 13:49
6F:→ lemon651: 使用方式就是 tmp = TMP() tmp.set_dirname(xxx) 决定 04/19 13:49
7F:→ lemon651: 暂存档主目录位置 tmp.get_name(参数随便你定) 就可以 04/19 13:49
8F:→ lemon651: 拿到暂存档名 04/19 13:49