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,一经查实,立即删除!

相关文章

[Java] webservice soap,wsdl 例子

java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟&#xff0c;但要真正要用起来还需时日!! 由于毕业设计缘故&#xff0c;我看了很多关于webservice方面的知识&#xff0c;今天和大家一起来研究研究webservice的各种使用方法。 一、利用jdk web服务api…

C语言ASM汇编内嵌语法zz

朋友们&#xff0c;我是从http://www.cnblogs.com/latifrons/archive/2009/09/17/1568198.html这里转载过来的&#xff0c;很不错就收藏了&#xff0c;如果转载&#xff0c;请注明初始链接。 .3 GCC Inline ASM GCC 支持在C/C代码中嵌入汇编代码&#xff0c;这些汇编代码被称作…

python标准库(二)

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

templates(0.1)

每一位 C 程序员都有自己的一套编程风格。这就引来了各种问题&#xff1a;哪儿应该 插入空白符号、怎么摆放分隔符&#xff08;大括号、小括号&#xff09;…等等。我们尽量保持全书风格一致&#xff0c; 当然有时候我们也对特殊问题作出让步。例如在教本&#xff08;初阶&…

实验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…

Linux C编程一些优秀的博客链接

1&#xff0c;C进程内存分布 https://www.cnblogs.com/fengyv/p/3789252.html 2&#xff0c;fork入门讲解 http://blog.csdn.net/jason314/article/details/5640969

vi文字处理器

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

顺序栈,链栈

栈与链栈一&#xff0c;顺序栈1.1 IStack栈接口1.2&#xff0c;顺序栈增删改查的实现1.3&#xff0c;测试顺序栈二&#xff0c;链栈2.1&#xff0c;存放数据的结点2.2&#xff0c;链栈的实现2.3测试链栈一&#xff0c;顺序栈 1.1 IStack栈接口 public interface IStack {publ…

Ubuntu14.04LTS打造实用的环境

1&#xff0c;安装Ubuntu14.04LTS以后&#xff0c;首先要更新一下源&#xff0c;下面使用163源&#xff1a; 首先备份源列表: sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup清空原来的/etc/apt/sources.list&#xff0c;添加网易的源列表 deb http://mirrors.…

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

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

poj 1715 Hexadecimal Numbers 排列组合

1 /**2 大意&#xff1a; 给定16进制数的16个字母&#xff0c;&#xff0c;求第k大的数&#xff0c;&#xff0c;要求数的长度最大为8.&#xff0c;并且每个数互不相同。3 思路&#xff1a; 从高到低挨个枚举&#xff0c;每一位能组成的排列数 &#xff0c;拿最高位来说&#x…

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

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

文件读写的“二进制模式”和“文本模式”

二进制模式&#xff1a;将内存中的数据&#xff08;01序列&#xff09;直接传送到文件中&#xff0c;没有任何转换。如&#xff1a;char ch 0x7d; fwrite(&ch, sizeof(char), 1, pfile);直接把0x7d这个01序列存储到文件中。文本模式&#xff1a;将内存中的数据&#xff08…

服务器小程序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是服务器小程序。是个…

hadoop MultipleInputs fails with ClassCastException (get fileName)

来自&#xff1a;http://stackoverflow.com/questions/11130145/hadoop-multipleinputs-fails-with-classcastexception Following up on my comment, the Javadocs for TaggedInputSplit confirms that you are probably wrongly casting the input split to a FileSplit: /**…

自己常用的Linux命令总结

原则&#xff1a;自己使用过的&#xff0c;不易记忆的&#xff0c;功能强大的 grep 名称意义&#xff1a;全称Global Regular Expression Print&#xff0c;表示全局正则表达式是一个强大的文本搜索工具&#xff0c;采用正则匹配命令格式&#xff1a;grep [options] files O…

XSS与CSRF两种跨站攻击比较

XSS&#xff1a;跨站脚本&#xff08;Cross-site scripting&#xff09; CSRF&#xff1a;跨站请求伪造&#xff08;Cross-site request forgery&#xff09; 在那个年代&#xff0c;大家一般用拼接字符串的方式来构造动态SQL 语句创建应用&#xff0c;于是SQL 注入成了很流行的…