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

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)

自定义模块导入

自定义模块:
pythonn笔记 -- 模块、文件_第1张图片

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

pythonn笔记 -- 模块、文件_第2张图片

可以正常调用!

pythonn笔记 -- 模块、文件_第3张图片

以主程序形式运行

添加: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文件

pythonn笔记 -- 模块、文件_第4张图片


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

pythonn笔记 -- 模块、文件_第5张图片

你可能感兴趣的:(python,python,pycharm,开发语言)