python笔记 -- 模块、文件

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())

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值