pythonn笔记 -- 模块、文件

1. 模块

1.1 模块导入

  • import 模块名称 [as 别名]
  • from 模块名称 import 函数/变量/类
import math
print(id(math))
print(type(math))

print(math.pi)
print(dir(math))
print(math.pow(2, 3))
print(math.ceil(9.0001))
print(math.floor(9.999))

1242583069304
<class ‘module’>
3.141592653589793
[‘doc’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘acos’, ‘acosh’, ‘asin’, ‘asinh’, ‘atan’, ‘atan2’, ‘atanh’, ‘ceil’, ‘copysign’, ‘cos’, ‘cosh’, ‘degrees’, ‘e’, ‘erf’, ‘erfc’, ‘exp’, ‘expm1’, ‘fabs’, ‘factorial’, ‘floor’, ‘fmod’, ‘frexp’, ‘fsum’, ‘gamma’, ‘gcd’, ‘hypot’, ‘inf’, ‘isclose’, ‘isfinite’, ‘isinf’, ‘isnan’, ‘ldexp’, ‘lgamma’, ‘log’, ‘log10’, ‘log1p’, ‘log2’, ‘modf’, ‘nan’, ‘pi’, ‘pow’, ‘radians’, ‘remainder’, ‘sin’, ‘sinh’, ‘sqrt’, ‘tan’, ‘tanh’, ‘tau’, ‘trunc’]
8.0
10
9
Process finished with exit code 0

from math import pi
print(pi)

自定义模块导入

自定义模块:
在这里插入图片描述

在PyCharm中该文件所在包上右击,选择Make Directory as,选择Sources Root

在这里插入图片描述

可以正常调用!

在这里插入图片描述

以主程序形式运行

添加:if __name__ == ‘__main__’:

def add(a, b):
    return a + b

def div(a, b):
    return a / b

if __name__ == '__main__':
    print(add(2, 5))  # 只有当点击calc时,该语句才执行

1.2 Python中的包

  • 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个包下
  • 能够使代码规范,避免模块名称冲突

  • 包与目录的区别
    • 包含__init__.py文件的目录称为包
    • 目录里通常不好含__init__.py文件

新建一个包时,PyCharm会自动创建一个__init__.py文件

在这里插入图片描述


1.3 Python中常用模块

Python中常用的内置模块

模块名 说明
sys 与Python解释器及其环境操作相关的标准库
time 提供与时间相关的各种函数的标准库
os 提供了访问操作系统服务功能的标准库
calendar 提供与日期相关的各种函数的标准库
urllib 用于读取来自网上的数据标准库
json 用于使JSON序列化和反序列化对象
re 用于在字符串中执行正则表达式匹配和替换
math 提供标准算术运算函数的标准库
decimal 用于精确控制运算精度
logging 提供灵活的记录事件、错误、警告和调试信息等日志信息的功能

2. 文件

2.1 编码

  • Python的解释器使用的是Unicode(内存)
  • .py文件在磁盘上使用UTF-8存储(外存)

如何修改py文件的格式?
在文件首行加:#encoding=gbk

在这里插入图片描述

2.2 文件读写

  • 内置函数open()创建文件对象
  • 语法规则: file = open( filename [, mode, encoding] )
# 读取文件内容
file = open('C:\\Users\\swy\\Desktop\\a.txt', 'r', encoding='UTF-8')
print(file.readlines())
file.close()

在这里插入图片描述

常用的文件打开模式

打开模式 描述
r 只读模式
w 只写模式
a 追加模式
b 以二进制方式打开文件,不能单独使用,如 rb或wb
+ 以读写方式打开文件,不能单独使用,如 a+

文件对象常用方法

方法名称 描述
read([size]) 从文件中读取size个字节或字符的内容返回
readline() 从文本文件中读取一行内容
readlines() 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回
write(str) 将字符串str内容写入文件
writelines(s_list) 将字符串列表s_list写入文本文件,不添加换行符
seek(offset, whence) 把文件指针移动到新的位置,offset表示相对于whence的位置,whence不同值表示不同含义:0,1,2
tell() 返回文件指针的当前位置
flush() 把缓冲区的内容写入文件,但不关闭文件
close() 把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源

os模块操作目录相关函数

方法名称 描述
getcwd() 返回当前的工作目录
listdir(path) 返回指定路径下的文件和目录信息
mkdir(path, mode) 创建目录
mkdirs(path1/path2…, mode) 创建多级目录
rmdir(path) 删除目录
removedirs(path1/path2…) 删除多级目录
chdir(path) 将path设置为当前工作目录

os。path模块操作目录相关函数

方法名称 描述
abspath(path) 用于获取文件或目录的绝对路径
exists(path) 用于判断文件或目录是否存在
join(path, name) 将目录与目录或者文件名拼接起来
splitext() 分离文件名和扩展名
basename(path) 从一个目录中提取文件名
dirname(path) 从一个路径中提取文件路径,不包括文件名
isdir(path) 用于判断是否为路径

2.3 with语句

  • with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
with open('C:\\Users\\swy\\Desktop\\a.txt', 'r', encoding='UTF-8') as src_file:
    print(src_file.readlines())

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/swy66/article/details/126377871