文章目录
一些需要掌握与注意的
- if name == __main__的作用:当我们导入模块后,我们想程序的某个部分不执行模块里面的内容,就可以使用它,比如我们想在模块里面加一些测试代码,那么这个模块被导入的时候,这些测试代码不是我们想执行的,这时候就可以把这些代码放到
if __name__ = '__main__
下面
菜鸟教程:一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行 - 内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回
#!/usr/bin/python3
# Filename: using_name.py
if __name__ == '__main__':
print('程序自身在运行')
else:
print('我来自另一模块')
访问互联网的模块:urllib
有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib:
from urllib.request import urlopen
for line in urllib.open("https://www.runoob.com/python3/python3-stdlib.html"):
# 打开该网址
line = line.decode('utf-8')
# 使用utf-8
print(line)
# 打印出的内容是该网站的HTML源代码
操作系统接口:os
os.sys('系统命令') # 调用系统命令
os.open('文件','权限')
os.close()
os.lchmod()
os.getcwd() #返回当前工作目录
os.mkdir(path,[mode]) # mode是可选的,用数字表示权限
""" 以后更新 """
文件通配符:glob
glob模块提供了glob函数进行文件的通配,并把结果返回为一个列表
import glob
glob.glob('*.py')
# 结果返回搜索到的目录(以字符串表示)组成的列表
# 没有搜索到就返回空的列表
命令行参数
通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。例如在命令行中执行 “python demo.py one two three” 后可以得到以下输出结果:
>>> import sys
>>> print(sys.argv)
['demo.py', 'one', 'two', 'three']
底层c函数库的访问:math模块
math.cos()
math.sin()
......等等
正则表达式:re模块
re模块内容还没有学完,后期更新
re模块菜鸟教程
re.match
尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
re.search()
扫描整个字符串并返回第一个成功的匹配。
两者的区别:re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
re.sub()
检索和补充
import re
re.match(pattern,string,flag)
文件与目录操作相关的模块:shutil
import shutil
shutil,copyfile('源文件','目标文件')
shutil.move('文件名','文件名')
Json与pinkle模块
json:为了使不同的语言实现交互,它不能处理函数,类。
pinkle:用法和json一样,它用于python特有的类型 和 python的数据类型间进行转换,只有在Python语言里面可以使用
pinkle.dump(info,file)
==f.write(pinke.dumps(info))
注意:
- 使用dumps与loads时,只能dumps一次,loads一次