python 常见模块

1. 前言

Python 是一门简单易学、功能强大的编程语言,它提供了丰富的功能库,方便我们进行开发工作。在 Python 中,我们可以使用许多内置模块或第三方模块,以便更快、更简单地完成一些任务。本文将介绍 Python 中常用的模块,包括:

os 模块

datetime 模块

random 模块

re 模块

json 模块

csv 模块

math 模块

collections 模块

urllib 模块

2. os 模块

在 Python 中,os 模块是一个非常常用的模块,它提供了一系列的函数用于处理操作系统的文件和目录。通过使用 os 模块,我们可以轻松地创建、重命名、删除和遍历文件和文件夹。下面是一些常用的 os 模块函数:

2.1 os.getcwd()

os.getcwd() 函数可以获取当前工作目录。

import os

# 获取当前工作目录

current_directory = os.getcwd()

print(current_directory)

输出:

/home/user

2.2 os.makedirs()

os.makedirs() 函数可以创建新的目录。

import os

# 创建一个新的目录

os.makedirs('new_directory')

2.3 os.listdir()

os.listdir() 函数可以列出当前目录下的所有文件和子目录。

import os

# 输出当前目录下的所有文件和子目录

files_and_directories = os.listdir('.')

print(files_and_directories)

输出:

['Desktop', 'Documents', 'Downloads', 'Music', 'Pictures', 'Public', 'Templates', 'Videos', 'new_directory']

3. datetime 模块

datetime 模块是 Python 中用于处理日期和时间的模块。它提供了许多函数和类,使得处理日期和时间变得非常简单。下面是 datetime 模块中一些常用的函数和类:

3.1 datetime.date()

datetime.date() 函数可以创建一个特定的日期实例。

import datetime

# 创建一个日期实例

date = datetime.date(2022, 1, 1)

print(date)

输出:

2022-01-01

3.2 datetime.datetime()

datetime.datetime() 函数可以创建一个特定的日期时间实例。

import datetime

# 创建一个日期时间实例

datetime = datetime.datetime(2022, 1, 1, 12, 0, 0)

print(datetime)

输出:

2022-01-01 12:00:00

3.3 datetime.timedelta()

datetime.timedelta() 函数可以计算日期和时间之间的差。

import datetime

# 日期之间的差

date1 = datetime.date(2021, 1, 1)

date2 = datetime.date(2022, 1, 1)

difference = date2 - date1

print(difference.days)

输出:

365

4. random 模块

random 模块是 Python 中用于生成随机数的模块。它提供了许多函数,可以生成不同形式的随机数。下面是 random 模块中一些常用的函数:

4.1 random.random()

random.random() 函数可以生成一个 0 到 1 之间的随机浮点数。

import random

# 生成 0 到 1 之间的随机数

x = random.random()

print(x)

4.2 random.randint()

random.randint() 函数可以生成一个指定范围内的整数。

import random

# 生成 1 到 10 之间的随机整数

x = random.randint(1, 10)

print(x)

4.3 random.choice()

random.choice() 函数可以从给定的列表中随机选择一个元素。

import random

# 从列表中随机选择一个元素

my_list = ['apple', 'banana', 'cherry']

x = random.choice(my_list)

print(x)

5. re 模块

re 模块是 Python 中用于正则表达式匹配的模块。它提供了许多函数,可以用于字符串的匹配和替换。下面是 re 模块中一些常用的函数:

5.1 re.findall()

re.findall() 函数可以从给定的字符串中查找所有符合正则表达式的子字符串,并返回一个列表。

import re

# 查找所有数字

string = 'hello 123 world 567'

x = re.findall('\d+', string)

print(x)

输出:

['123', '567']

5.2 re.sub()

re.sub() 函数可以在给定的字符串中查找符合正则表达式的子字符串,并将其替换为指定的字符串。

import re

# 替换所有数字

string = 'hello 123 world 567'

x = re.sub('\d+', '###', string)

print(x)

输出:

hello ### world ###

6. json 模块

json 模块是 Python 中用于处理 JSON 格式数据的模块。它提供了许多函数,可以方便地将 Python 对象转换为 JSON 格式的字符串,或将 JSON 格式字符串转换为 Python 对象。下面是 json 模块中一些常用的函数:

6.1 json.dumps()

json.dumps() 函数可以将 Python 对象转换为 JSON 格式的字符串。

import json

# 将 Python 对象转换为 JSON 格式字符串

my_dict = {'name': 'Tom', 'age': 18}

x = json.dumps(my_dict)

print(x)

输出:

{"name": "Tom", "age": 18}

6.2 json.loads()

json.loads() 函数可以将 JSON 格式的字符串转换为 Python 对象。

import json

# 将 JSON 格式字符串转换为 Python 对象

json_string = '{"name": "Tom", "age": 18}'

x = json.loads(json_string)

print(x)

输出:

{'name': 'Tom', 'age': 18}

7. csv 模块

csv 模块是 Python 中用于处理 CSV 格式文件的模块。它提供了许多函数,可以方便地读写和处理 CSV 文件。下面是 csv 模块中一些常用的函数:

7.1 csv.reader()

csv.reader() 函数可以从给定的 CSV 文件中读取数据,并返回一个行迭代器。

import csv

# 从 CSV 文件中读取数据

with open('myfile.csv', 'r') as file:

reader = csv.reader(file)

for row in reader:

print(row)

7.2 csv.writer()

csv.writer() 函数可以将数据写入到 CSV 文件中。

import csv

# 将数据写入到 CSV 文件中

with open('myfile.csv', 'w', newline='') as file:

writer = csv.writer(file)

writer.writerow(['Name', 'Age', 'Country'])

writer.writerow(['Tom', 18, 'USA'])

writer.writerow(['Jerry', 22, 'China'])

8. math 模块

math 模块是 Python 中用于数学计算的模块。它提供了许多函数和常量,可以方便地进行数学计算。下面是 math 模块中一些常用的函数和常量:

8.1 math.ceil()

math.ceil() 函数可以将一个浮点数向上取整。

import math

# 将浮点数向上取整

x = math.ceil(3.14)

print(x)

输出:

4

8.2 math.floor()

math.floor() 函数可以将一个浮点数向下取整。

import math

# 将浮点数向下取整

x = math.floor(3.14)

print(x)

输出:

3

9. collections 模块

collections 模块是 Python 中用于处理集合的模块。它提供了许多函数和类,可以方便地对集合进行操作。下面是 collections 模块中一些常用的类:

9.1 collections.Counter()

collections.Counter() 类可以统计一个序列中各元素出现的次数,返回一个字典。

import collections

# 统计序列中各元素出现的次数

my_list = ['a', 'b', 'c', 'a', 'a', 'b']

x = collections.Counter(my_list)

print(x)

输出:

Counter({'a': 3, 'b': 2, 'c': 1})

9.2 collections.defaultdict()

collections.defaultdict() 类可以创建一个字典,如果键不存在则返回指定的默认值。

import collections

# 创建一个字典,并指定默认值为 0

my_dict = collections.defaultdict(int)

# 对字典键对应的值进行自增操作

my_dict['a'] += 1

my_dict['b'] += 1

my_dict['c'] += 1

print(my_dict)

输出:

defaultdict(<class 'int'>, {'a': 1, 'b': 1, 'c': 1})

10. urllib 模块

urllib 模块是 Python 中用于处理 URL 的模块。它提供了许多函数和类,可以方便地进行 URL 的解析、构建和请求。下面是 urllib 模块中一些常用的函数和类:

10.1 urllib.request.urlopen()

urllib.request.urlopen() 函数可以打开一个 URL 并返回一个文件对象。

import urllib.request

# 打开 URL,并返回文件对象

response = urllib.request.urlopen('https://www.example.com/')

print(response.read())

10.2 urllib.parse.urlencode()

urllib.parse.urlencode() 函数可以将键值对转换为 URL 编码的字符串。

import urllib.parse

# 将键值对转换为 URL 编码的字符串

my_dict = {'name': 'Tom', 'age': 18}

x = urllib.parse.urlencode(my_dict)

print(x)

输出:

name=Tom&age=18

10.3 urllib.error.HTTPError

urllib.error.HTTPError 类表示 HTTP 错误,例如 404 Not Found。

import urllib.request

import urllib.error

# 访问不存在的 URL

try:

response = urllib.request.urlopen('https://www.example.com/not_exist.html')

except urllib.error.HTTPError as e:

print(e)

11. 结论

本文介绍了 Python 中常用的一些模块,包括 os、datetime、random、re、json、csv、math、collections 和 urllib。这些模块提供了许多函数和类,可以方便我们进行文件处理、日期时间处理、随机数生成、正则表达式匹配、JSON 数据处理、CSV 文件处理、数学计算、集合操作和 URL 处理等工作。在实际的开发工作中,这些模块的使用会极大地提高我们的开发效率,因此熟练掌握这些模块是非常重要的。

后端开发标签