<32>python学习笔记——常用模块
来源:互联网 发布:sql注入绕过安全狗 编辑:程序博客网 时间:2024/05/01 08:56
time & timedate 模块
time获取时间戳
time.time() 获取当前时间
datetime.datetime.now() 获取当前时间
random 随机模块
random.random() 生成一个0到1的随机浮点数 0<= n <1
random.randrange()
可以从从制定范围内,按指定基数递增的集合中获取一个随机数。如random.randrange(10,100,2),结果相当于从(10,12,14,16....)中获得
random.choice() 从序列中获取一个随机元素
random.sample(参数1,参数2) 从指定序列中随机获取指定长度的片段。
两个参数,第一个参数是序列,第二个参数是制定长度
random.randint(start,end) 随机整数 a<= n <= b
random.uniform() 指定区间取浮点数
os模块
提供对操作系统进行调用的接口。
os.sep
:取代操作系统特定的路径分隔符os.name
:指示你正在使用的工作平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。os.getcwd
:得到当前工作目录,即当前python脚本工作的目录路径。os.getenv()
和os.putenv
:分别用来读取和设置环境变量os.listdir()
:返回指定目录下的所有文件和目录名os.remove(file)
:删除一个文件os.stat(file)
:获得文件属性os.chmod(file)
:修改文件权限和时间戳os.mkdir(name):
创建目录os.rmdir(name)
:删除目录os.removedirs(r“c:\python”)
:删除多个目录os.system()
:运行shell命令os.exit()
:终止当前进程os.linesep
:给出当前平台的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
os.path.split():返回一个路径的目录名和文件名os.path.isfile()和os.path.isdir()分别检验给出的路径是一个目录还是文件os.path.existe():检验给出的路径是否真的存在os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirnameos.path.isdir(name):判断name是不是目录,不是目录就返回falseos.path.isfile(name):判断name这个文件是否存在,不存在返回falseos.path.exists(name):判断是否存在文件或目录nameos.path.getsize(name):或得文件大小,如果name是目录返回0Los.path.abspath(name):获得绝对路径os.path.isabs():判断是否为绝对路径os.path.normpath(path):规范path字符串形式os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)os.path.splitext():分离文件名和扩展名os.path.join(path,name):连接目录与文件名或目录os.path.basename(path):返回文件名os.path.dirname(path):返回文件路径
sys模块
sys.argv
: 实现从程序外部向程序传递参数。sys.exit([arg])
: 程序中间的退出,arg=0为正常退出。sys.getdefaultencoding()
: 获取系统当前编码,一般默认为ascii。sys.setdefaultencoding()
: 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )sys.getfilesystemencoding()
: 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.sys.path
: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。sys.platform
: 获取当前系统平台。sys.stdin,sys.stdout,sys.stderr
: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
shutil模块
shutil.copyfileobj(fsrc, fdst[, length])
将文件内容拷贝到另一个文件中
import
shutil
shutil.copyfileobj(
open
(
'old.xml'
,
'r'
),
open
(
'new.xml'
,
'w'
))
shutil.copyfile(src, dst)
拷贝文件
shutil.copyfile(
'f1.log'
,
'f2.log'
)
shutil.copymode(src, dst)
仅拷贝权限。内容、组、用户均不变
shutil.copymode(
'f1.log'
,
'f2.log'
)
shutil.copystat(src, dst)
仅拷贝状态的信息,包括:mode bits, atime, mtime, flags
shutil.copystat(
'f1.log'
,
'f2.log'
)
shutil.copy(src, dst)
拷贝文件和权限
shutil.copy(
'f1.log'
,
'f2.log'
)
shutil.copy2(src, dst)
拷贝文件和状态信息
shutil.copy2(
'f1.log'
,
'f2.log'
)
shutil.ignore_patterns(*patterns)
shutil.copytree(src, dst, symlinks=False, ignore=None)
递归的去拷贝文件夹
shutil.copytree(
'folder1'
,
'folder2'
, ignore
=
shutil.ignore_patterns(
'*.pyc'
,
'tmp*'
))
shutil.copytree(
'f1'
,
'f2'
, symlinks
=
True
, ignore
=
shutil.ignore_patterns(
'*.pyc'
,
'tmp*'
))
shutil.rmtree(path[, ignore_errors[, onerror]])
递归的去删除文件
shutil.rmtree(
'folder1'
)
shutil.move(src, dst)
递归的去移动文件,它类似mv命令,其实就是重命名。
shutil.move(
'folder1'
,
'folder3'
)
shutil.make_archive(base_name, format,...)
创建压缩包并返回文件路径,例如:zip、tar
创建压缩包并返回文件路径,例如:zip、tar
- base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www =>保存至当前路径
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/ - format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
- root_dir: 要压缩的文件夹路径(默认当前目录)
- owner: 用户,默认当前用户
- group: 组,默认当前组
- logger: 用于记录日志,通常是logging.Logger对象
#将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录
import
shutil
ret
=
shutil.make_archive(
"wwwwwwwwww"
,
'gztar'
, root_dir
=
'/Users/wupeiqi/Downloads/test'
)
#将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录
import
shutil
ret
=
shutil.make_archive(
"/Users/wupeiqi/wwwwwwwwww"
,
'gztar'
, root_dir
=
'/Users/wupeiqi/Downloads/test'
)
shutil 对压缩包的处理是通过调用ZipFile 和 TarFile两个模块来进行的。
import
zipfile
# 压缩
z
=
zipfile.ZipFile(
'laxi.zip'
,
'w'
)
z.write(
'a.log'
)
z.write(
'data.data'
)
z.close()
# 解压
z
=
zipfile.ZipFile(
'laxi.zip'
,
'r'
)
z.extractall()
z.close()
import
tarfile
# 压缩
tar
=
tarfile.
open
(
'your.tar'
,
'w'
)
tar.add(
'/Users/wupeiqi/PycharmProjects/bbs2.log'
, arcname
=
'bbs2.log'
)
tar.add(
'/Users/wupeiqi/PycharmProjects/cmdb.log'
, arcname
=
'cmdb.log'
)
tar.close()
# 解压
tar
=
tarfile.
open
(
'your.tar'
,
'r'
)
tar.extractall()
# 可设置解压地址
tar.close()
json &pickle 模块
shelve模块
是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
xml处理
和json差不多,但json使用起来更简单。
yaml处理
configparser模块
用于生成和修改常见配置文档。
hashlib 模块
用于加密相关操作。
subprocess模块
logging模块
re正则表达式
- <32>python学习笔记——常用模块
- Python常用的第三方模块——学习笔记
- 【Python】学习笔记——-14、常用第三方模块
- Python 学习笔记(常用模块)
- [转载]Python学习笔记三(常用模块)
- python学习笔记 常用第三方模块
- 学习python笔记——模块
- Python模块学习笔记— —random
- Python模块学习笔记— —hashlib
- Python模块学习笔记— —WinPython
- Python模块学习笔记— —glob
- Python模块——学习笔记
- Python学习笔记 —— 模块
- Python学习笔记——模块
- 【Python】学习笔记——-6.0、模块
- <17>python学习笔记——模块
- 模块——Python学习笔记06
- Python学习笔记——模块
- 3D转换 导航栏
- hdu 1812 Count the Tetris (置换)
- Android平台Robotium UI测试详解
- 如何上传自己的代码到Git上
- [Aha]镖局运镖
- <32>python学习笔记——常用模块
- HBase 1.0.0 API的变化
- 258. Add Digits
- 指针例题详解
- 聚合maven+spring-boot打包可执行jar
- Ubuntu下QT creator查看pixhawk工程
- 大海波涛
- 关于Tomcat 加入项目问题
- Day1 html5