python标准库(一)

操作系统接口os

  • 切换目录
		>>> import os>>> os.getcwd() # 得到当前工作目录'C:\\Users'>>> os.chdir('F:\\') # 切换工作目录到F盘>>> os.system('mkdir tody')  # 在f盘创建一个叫tody的文件夹0

  • import os 与 from os import * ,要以import os的方式导入os模块。
    第二种方式导入os.open() 会 覆盖掉内置函数的opne()

  • dir(os) 和 help(os) 可以看到内置模块里面的名称。

shutil模块用于文件的复制

  • 文件复制的操作
		>>> import shutil>>> import os>>> os.chdir('e:/Txt') # 切换到e盘目录>>> shutil.copyfile('2.txt', 'copy.md') # 把2.txt 复制到 copy.md 这个文件'copy.md'>>>

  • 文件剪切的操作
	>>> shutil.move('e:/Txt/copy.md', 'copy1.md') # 把e盘compy.md移到f盘的copy.md'copy1.md'

文件通配符 glob (通配符)

  • 匹配e盘下面的所有.txt结尾的文件
	>>> os.getcwd()'e:\\Txt'>>> os.chdir('e:\\Txt') # 切换当前的目录>>> import glob>>> glob.glob('*.txt') # 匹配e\txt目录下的.txt结尾文件['1.txt', '2.txt', '3.txt', 'ps.txt', 'score.txt']
>>>

对数据进行处理的库

  • 命令行参数
python test.py start end
import sys
print(sys.argv) # [start, end]

多个命令行参数

  • 错误输出重定向和程序终止
    sys.stdin sys.stdout sys.stderr sys.exit()
# 错误输出重定向和程序终止
def test_std():import sysr = sys.stdin.readline() # 接收输入的信息print('接收输入流, ', r)sys.stdout.write('hello my python!\n')sys.stderr.write('you are wrong...\n') # 用于输出错误信息sys.exit('系统退出啦')test_std() # 我输入一个 abc
'''
abc
接收输入流,  abchello my python!
you are wrong...
系统退出啦
'''
  • 字符串的简单匹配
def test_reg():import reres = re.findall(r'\bf[a-z]*', 'flower is beauty, it fly higher!') # 以f开头,单词的分界处, 整个单词print(res)res = re.sub(r'(\b[a-z]+) \1', r'\1', 'girl in the house') print(res)str = 'tea for too too'print(str.replace('too', 'two', 2)) # 替换
# test_reg()
'''
['flower', 'fly']
girl in the house
tea for two two
'''
  • math数学库c为底层
def test_math():import mathprint(math.cos(math.pi / 1))print(math.log(64, 2))# test_math()
'''
-1.0
6.0
'''
  • random
    import random as rdch = rd.choice(['py', 'java', 'dotnet', 'go'])print('random 随机到的语言是,', ch)i = rd.sample(range(100), 5)print('100里面随机选5个数 ', i)print(rd.random()) # 一个随机数 0 < x < 1 的floatprint(rd.randrange(4)) # 0 - 4中的随机数test_rd()
  • statistics统计库
def test_statistics():import statistics as s # 统计库data = [11, 12, 13]print(s.mean(data)) # 平均值12print(s.median(data)) # 中位数12print(s.variance(data)) # 方差 1
  • 访问网络
# 我把我的上一篇博客的网页给写入文件了
def test_internet():from urllib.request import urlopenwith urlopen('https://blog.csdn.net/qq_44783283/article/details/105980454') as resp:# print(resp.info())for line in resp:          with open('e:/Txt/1.txt', mode='a+', encoding='UTF-8') as f:line = line.decode('UTF-8')f.write(line)test_internet()
  • 时间日期
'''
时间日期datetime 模块提供了以简单和复杂的方式操作日期和时间的类。虽然支持日期和时间算法,但实现的重点是有效的成员提取以进行输出格式化和操作。该模块还支持可感知时区的对象。from datetime import dateNow = date.today()Now.strftime("%m- %d - %y")小写是缩短的单词a代表星期的单词 b 代表月份'''	'''date支持日期运算date.today() - date(1999, 11, 2)'''>>> from datetime import date # 从日期时间库导入日期>>> now = date.today()>>> now.strftime('%A')'Monday'>>> now.strftime('%d')'11'>>> now.strftime('%D')'05/11/20'>>> now.strftime('%b')'May'>>> now.strftime('%B')'May'

ziplib 压缩字符

def test_gzip():import zlibs = b'lover my lover she is my lover' # binary形式print(len(s))t = zlib.compress(s) # 把s压缩print('解压前的长度{0}, 字符为{1}'.format(len(t), t))de_res = zlib.decompress(t) # 解压tprint('解压后的长度{0}, 字符为{1}'.format(len(de_res), de_res))print(zlib.crc32(s)) # 可以应用于通讯和数据压缩程序。test_gzip()'''
30
解压前的长度27, 字符为b'x\x9c\xcb\xc9/K-R\xc8\xadT\xc8\x013\x8a3R\x152\x8b\xe1|\x00\xad\x85\x0b!'
解压后的长度30, 字符为b'lover my lover she is my lover'
2248744910
'''

doctest 和 unittest模块维护代码

  • doctest
def average(values: list)-> int:''' 求列表的平均数>>> print(average([10, 20, 30]))>>> 20.0'''return sum(values) / len(values)i = average([10, 20, 30])
print(i)import doctest
doctest.testmod()
  • unittest
# 用于测试一个类,看有那些错误以文本的形式打印出来。
import unittest
class TestStatisticalFunc(unittest.TestCase):def test_average(self):self.assertEqual(average([10, 20, 30], 20))self.assertEqual(round(average([1, 3, 5], 6.6)))with self.assertRaises(ZeroDivisionError):average([])with self.assertRaises(TypeError):average([10, 20, 30])unittest.main()

只是展示了小部分的demo,更细的地方还未涉及,比如gzip怎么压缩文件,urllib包里面怎么爬虫,statistics怎么和numpy,matplotlib画可视化的图。接触到后,会再详细说明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python标准库(二)

格式化输出 reprlib 库用来格式化 >>> import reprlib >>> reprlib.repr(set(aabbccddeeeff)) "{a, b, c, d, e, f}" >>>对集合能排序 >>> reprlib.repr(set(fdajfejaa)) "{a, d, e, f, j}" >>>pprint库用…

实验4 进程运行轨迹的跟踪与统计

进程运行轨迹的跟踪与统计 难度系数&#xff1a;★★★☆☆ 实验目的 掌握Linux下的多进程编程技术&#xff1b;通过对进程运行轨迹的跟踪来形象化进程的概念&#xff1b;在进程运行轨迹跟踪的基础上进行相应的数据统计&#xff0c;从而能对进程调度算法进行实际的量化评价&…

虚拟环境创建,pip管理包

windows10虚拟环境的创建&#xff0c;pip管理包1.虚拟环境的创建1.1 为什么要创建虚拟环境1.2 创建虚拟环境1.3 激活虚拟环境1.3.1 激活方式1.3.2 检查是否创建成功2.用pip管理包2.1 pip的基本使用2.2 pip创建安装的文件requirements.txt2.3 安装包对应的版本2.4 用pip - r ins…

vi文字处理器

http://blog.csdn.net/wangloveall/article/details/22649331 摘要&#xff1a;vi是类UNIX命令行接口的标准文字处理软件&#xff0c;也是进行shell脚本程序编写与服务器设置的非常重要的工具。本文介绍vi文字处理器&#xff0c;包括vi简介、vi怎么使用、vi的加强版vim。 关键词…

用numpy,matplotlib库画笛卡尔爱心曲线

1650年&#xff0c;斯德哥尔摩的街头&#xff0c;52岁的笛卡尔邂逅了18岁的瑞典公主克里斯汀。   那时&#xff0c;落魄、一文不名的笛卡尔过着乞讨的生活&#xff0c;全部的财产只有身上穿的破破烂烂的衣服和随身所带的几本数学书籍。生性清高的笛卡尔从来不开口请求路人施舍…

centos7虚拟机共享本机磁盘的方法

说明&#xff1a;这个方法不一定是通用的&#xff0c;也可能不是最快捷的&#xff0c;但是感觉比较稳妥的办法。 1&#xff0c;首先坚持两个进程是否启动&#xff1a;右击&#xff1a;我的电脑-管理-服务&#xff0c;检查server服务和Workstation服务是否启动。如果没有启动&a…

服务器小程序servlet的使用

servlet的创建使用一&#xff0c;三种创建方式1.1 实现servlet接口1.2 继承GenericServlet1.3 继承HttpServlet二&#xff0c;servlet使用2.1 web.xml文件的配置2.1.1 创建xml文件2.1.2 手写web.xml文件2.2 在8080端口下访问2.2.1 servlet的生命周期servlet是服务器小程序。是个…

el表达式,c标签的使用

el表达式的使用 学生类 public class Student {int id;String name;String sex;String birth;public Student() {}public Student(int id, String name, String sex, String birth) {super();this.id id;this.name name;this.sex sex;this.birth birth;}// el 表达式取实…

conda虚拟环境中安装ipython

问题&#xff1a;今天安装了tensorflow&#xff0c;启动ipython竟然提示如下&#xff1a; In [1]: import tensorflow as tf --------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recen…

使用session保持登录状态,cookie保存用户账号密码

session保存登录状态与cookie保存账号密码1. session维持登录状态1.1 代码实现2. cookie保存账号密码2.1 什么是cookie2.2 cookie记住账号密码1. session维持登录状态 利用session的生命周期实现 1.1 代码实现 login页面表单部分 <form action"judgeLoginSession&qu…

js表单验证,给出友好的提示

js验证表单 注意&#xff1a; 只做非空验证, 只是个小demo学习思想&#xff0c;onblur onfocus onsubmit的使用&#xff0c;给出友好提示网上有很多有良好&#xff0c;强大的控件&#xff0c;用于用户输入 代码实现 js代码 <script>function check_form(form) {// 得到f…

注册demo,使用jQuery异步验证账号是否存在

功能 jQuery验证账号是否存在form表单提交判断&#xff0c;失焦判断 界面 Ajax代码&#xff0c;验证用户rye1是否存在 function check_UserId() {$userId $("#userId").val();$.post("checkUserId","userId" $userId,function (result) { // 异…

虚拟机的网络连接模式

本文参考文章如下&#xff0c;感谢原作者&#xff1a; 《虚拟机的桥接模式和NAT模式》 https://blog.csdn.net/qq_40198004/article/details/89785806 1、桥接模式 桥接模式:直接连接物理网络&#xff0c;也就是连的你交换机的网络和你主机的IP在一个网段上&#xff0c;将虚拟…

自考感悟,话谈备忘录模式

引言&#xff1a; 2014年4月20号上午11:30&#xff0c;正式结束了自己的自学考试&#xff01;考完之后瞬间感觉放松了开来&#xff01;全身无力则是自己20号下午的唯一感受。放松了半天&#xff0c;今天回归正轨&#xff01;又回到了和生活息息相关的设计模式上来&#xff01;今…

小白教你用Java生成验证码

验证码生成效果一&#xff0c;生成验证码二&#xff0c;页面收到验证码三&#xff0c;验证验证码是否填写正确效果 点击验证码可切换 给出提示 一&#xff0c;生成验证码 package servlet;import java.io.IOException;import javax.servlet.ServletException; import jav…

modbus rtu 协议转DLT645-2007和DLT645-1997电表协议转换器定制,

现场会碰到现场数据为Modbus协议&#xff0c;但是后台系统为DLT645协议系统&#xff0c;本模块支持将工业ModbusRtu协议转换为电表国标协议DLT645协议&#xff0c;支持1997和2007俩种标准&#xff0c;只需要进行简单的配置&#xff0c;就可以实现Modbus 协议转DLT645协议&#…

残差网络(ResNet)

普通块 残差块 现在一个大概的理解是&#xff0c;增加x这条“短路”后&#xff0c;肯定优于&#xff08;恒等映射&#xff09;&#xff0c;可以考虑两种情况&#xff1a;可以拟合出远远高于&#xff08;恒等映射&#xff09;&#xff0c;或者根本拟合不出高于&#xff08;恒等…