python内置库之os、sys、math、datetime、json、re

os 

# 导入os模块
import os

# 查看os模块说明文档
help(os)
# 查看os模块的属性和方法
print(dir(os))

os常用方法

系统相关

# 获取系统名称,nt代表windows,posix代表linux
print(os.name)
# 获取系统环境变量信息
print(os.environ)
# 获取指定名称的环境变量信息
print(os.getenv("PATH"))
# 执行系统指令
# os.system("pwd")  # linux系统
print(os.system("dir"))  # windows系统

 操作目录

"""目录相关"""
# 获取当前所在目录
print(os.getcwd())
# 切换目录
os.chdir("...")
# 列出当前目录下的所有文件
print(os.listdir())
# 创建空目录
os.mkdir("new")
# 递归创建多级目录
os.makedirs("a/b/c")
# 删除空目录
os.rmdir("new")
# 重命名目录
os.rename("a", "a1")
# 删除文件
os.remove("xxx.txt")

 操作路径

'''os路径相关'''
# 返回绝对路径
print(os.path.abspath("./test.py"))
# 返回文件名
print(os.path.basename("D:/pycharm/pythonProject/test.py"))
# 返回文件路径
print(os.path.dirname("D:/pycharm/pythonProject/test.py"))
# 分割路径
print(os.path.split("D:/pycharm/pythonProject/test.py"))
# 拼接路径
print(os.path.join("D:/pycharm/pythonProject", "test.py"))
# 判断路径是否存在
print(os.path.exists("D:/pycharm/pythonProject/test.py"))
# 判断是否是目录
print(os.path.isdir("D:/pycharm/pythonProject/test.py"))
# 判断是否是文件
print(os.path.isfile("D:/pycharm/pythonProject/test.py"))
# 获取文件大小
print(os.path.getsize("D:/pycharm/pythonProject/test.py"))

 sys

# 导入sys模块
import sys

# 查看sys模块帮助文档
help(sys)
# 查看sys模块的属性和方法
print(dir(sys))

sys常用属性

"""sys模块常用属性"""
# 返回python解释器版本
print(sys.version)
# 返回操作系统平台名称
print(sys.platform)
# 返回外部向程序传递的参数
print(sys.argv)
# 返回已导入的模板信息
print(sys.modules)
print(sys.modules.keys())
# 返回导包的搜索路径列表
print(sys.path)

 sys常用方法

"""sys常用方法"""
# 获取系统当前编码
print(sys.getdefaultencoding())

# 运行时退出
sys.exit()

import time
for i in range(1,10):
    if i ==5:
        sys.exit("等于5,退出了")
    print(f"{i}")
    time.sleep(1)

 

math

import math

print(math.pi)
print(math.e)
print(math.inf)
print(-math.inf)
print(math.nan)

 

 

print(math.ceil(1.2))
print(math.floor(1.2))

 

print(math.pow(2, 2))
print(math.sqrt(4))

日期与时间处理datetime

import datetime

# 当前时间
a = datetime.datetime.now()
print(a)
print(a.day)
print(a.year)
print(a.year)
# 转化为时间戳
print(a.timestamp())

 时间戳转化为时间

b = a.timestamp()
# 时间戳转化为时间
c = datetime.datetime.fromtimestamp(b)
print(c)

 时间转化为字符串

# 当前时间
a = datetime.datetime.now()
print(a)
# 时间转化为字符串
b = a.strftime("%Y%m%d-%H%M%S")
print(b)

json

用于存储和交换数据的语法,是一种轻量级的数据交换格式

使用场景

--接口数据传输

--序列化

--配置文件

import json

# 定义python结构
data = [{"a": 1, "b": 2, "c": True, "d": False, "e": None}]
# 将python对象编码为 json字符串
json_data = json.dumps(data)
print(json_data)

import json

# 定义python结构
data = [{"a": 1, "b": 2, "c": True, "d": False, "e": None}]
# 将python对象编码为 json字符串
json_data = json.dumps(data)
print(json_data)
# 将json字符串解码为python对象
python_data = json.loads(json_data)
print(python_data)

import json

# 定义python结构
data = [{"a": 1, "b": 2, "c": True, "d": False, "e": None}]
# 将python对象编码为 json字符串
json_data = json.dumps(data)
print(json_data)
# 将json字符串解码为python对象
python_data = json.loads(json_data)
print(python_data)
# 把python对象转化为json格式的数据并且写入json文件
with open("data.json", mode="w") as f:
    json.dump(data, f)

 

import json

# 定义python结构
data = [{"a": 1, "b": 2, "c": True, "d": False, "e": None}]
# 将python对象编码为 json字符串
json_data = json.dumps(data)
print(json_data)
# 将json字符串解码为python对象
python_data = json.loads(json_data)
print(python_data)
# 把python对象转化为json格式的数据并且写入json文件
with open("data.json", mode="w") as f:
    json.dump(data, f)
# 读取json文件并解码成python对象
with open("data.json", mode="r") as f:
    data1 = json.load(f)
print(data1)

re

正则表达式

--正则表达式就是记录文本规则的代码

--可以查找操作符合某些负责规则的字符串

使用re模块实现正则表达式操作

使用场景

--处理字符串

--处理日志

import re

"""
compile():将字符串转换为正则表达式对象

prog:正则对象,可以直接调用匹配、替换、分割的方法。不需要再传入正则表达式
pattern:正则表达式
#prog = re.compile(pattern)
"""
# 匹配以 hello 开头的字符串
pattern = r"hello"
prog = re.compile(pattern)

匹配字符串

"""
匹配字符串
match():从字符串的开始处进行匹配
search():从整个字符串中搜索第一个匹配的值
findall():在整个字符串中搜索所有符合正则表达式的字符串,返回列表

pattern:正则表达式
string:要匹配的字符串
flags:可选,控制匹配方式
     - A:只进行ASCII匹配
     - I:不区分大小写
     - M:将 ^ 和 $ 用于包括整个字符串的开始和结尾的每一行
     - S:使用(.)字符匹配所有字符(包括换行符)

re.match(pattern,string,[flags])
re.search(pattern,string,[flags])
re.findall(pattern,string,[flags])
"""
# 匹配以 hello 开头的字符串
pattern = r"hello"
a1 = "hello today is a good day"
a2 = "today is a good day"
print(re.match(pattern, a1, re.I))
print(re.match(pattern, a2, re.I))

 替换字符串

import re

"""
替换字符串
pattern : 正则表达式
repl : 要替换的字符串
string : 要被查找替换的原始字符串
count : 可选,表示替换的最大次数,默认值为 0,表示替换所有匹配
flags : 可选,控制匹配方式

re.sub(pattern,repl,string,[count],[flags])
"""
# 匹配手机号码,开头为1,共11位
pattern = r"1[12346789]\d{9}"

a1 = "中奖号码 123456,联系电话13112345623"
print(re.sub(pattern, "1xxxxxxxxxx", a1))

 分割字符串

import re

"""
分割字符串
pattern : 正则表达式
string : 要被查找替换的原始字符串
maxsplit : 可选,表示最大拆分次数
flags : 可选,控制匹配方式
re.split(pattern, string, [maxsplit], [flags])
"""
# 匹配 “:” 与 “/”的正则表达式
pattern = r"[:|/]"
a1 = "https://blog.csdn.net/weixin_50"
print(re.split(pattern, a1))

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供一些使用常用标准Python 示例代码。以下是一个简单的例子: ```python import sys import os import math import random import pickle import subprocess import queue from io import StringIO import logging import json import time import datetime import re import csv import threading import asyncio # 示例:使用random生成一个随机数 random_number = random.randint(1, 100) print("随机数:", random_number) # 示例:使用os获取当前工作目录 current_dir = os.getcwd() print("当前工作目录:", current_dir) # 示例:使用datetime获取当前时间 current_time = datetime.datetime.now() print("当前时间:", current_time) # 示例:使用re进行正则表达式匹配 pattern = r'\d+' text = 'Hello 123 World' matches = re.findall(pattern, text) print("匹配结果:", matches) # 示例:使用json将字典对象转换为JSON字符串 data = {'name': 'John', 'age': 30, 'city': 'New York'} json_str = json.dumps(data) print("JSON字符串:", json_str) # 示例:使用threading创建并启动一个线程 def print_message(message): print("线程消息:", message) thread = threading.Thread(target=print_message, args=("Hello from thread",)) thread.start() thread.join() # 示例:使用asyncio创建一个协程并运行 async def print_message_async(message): print("异步消息:", message) loop = asyncio.get_event_loop() loop.run_until_complete(print_message_async("Hello from async")) loop.close() ``` 这些示例展示了如何使用常用的 Python 标准进行不同的操作,包括生成随机数、获取当前工作目录、处理时间和日期、正则表达式匹配、JSON序列化等。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值