sp; 返回当前时间,类型是 datetime.datetime,
datetime.timedelta() 这个函数不单独使用,要配合now函数,对时间进行加减,比如:datetime.dateime.now() + datetime.timedelta(-3)
- timedelta的参数有:days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0
日期的函数还有calendar(日历)模块,详细见:https://docs.python.org/3/library/calendar.html
random模块
- random.random() 返回浮点型数字,区间为[0.0 1)---不包含1
- random.uniform(a,b) 返回浮点型数字,可自定义区间,[a,b)
- random.int(a,b) 返回整数,区间为[a,b]
- random.randrange(a,b) 返回整数,区间[a,b)区间性质和range函数一样
- random.choice(seq) 返回seq中的一个元素
- random.shuffle(x) 对x重新洗牌,即打乱顺序,x是一个列表
shutil模块shutil
高级的文件,文件夹处理
- shutil.copyfilebj(src,dst) 拷贝文件对象,src和dst必须是文件句柄(即open后的文件句柄)
- shutil.copyfile(src,dst) 拷贝文件,src和dst是文件名称(调用copyfilebj来实现的)
- shutil.copymode(src,dst) 拷贝文件权限,内容、组、用户均不变,src和dst都是文件,且必须存在
- shutil.copystat(src,dst) 拷贝文件的状态信息,包括mode,atime,ctime,flags等
- shutil.copy(src,dst) 拷贝文件和权限,src和dst都是文件
- shutil.copy2(src,dst) 拷贝文件和状态,src和dst都是文件
- shutil.copytree(src,dst) 递归拷贝文件
- shutil.rmtree(path) 递归删除文件
- shutil.move(src,dst) 递归移动文件
subprocess模块
直接运行推荐使用run方法,如果使用更高级的可以直接使用Popen接口;如果想得到程序运行结果,推荐使用getstatusoutput(cmd)
-
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)
- args:标示要执行的命令,必须是一个字符串,字符串参数需要是列表形式,如果shell参数这只为true,那么可以将参数和命令放到一个字符串中,因为它是通过系统的shell执行
- 比如:如果有参数,必须是["ls","-al"],没有参数可以写"ls";如果shell为True,可以写成“ls -a”
- stdin、stdout 和 stderr:子进程的标准输入、输出和错误。其值可以是 subprocess.PIPE、subprocess.DEVNULL、一个已经存在的文件描述符、已经打开的文件对象或者 None。subprocess.PIPE 表示为子进程创建新的管道。subprocess.DEVNULL 表示使用 os.devnull。默认使用的是 None,表示什么都不做。另外,stderr 可以合并到 stdout 里一起输出。
|