python杂记

dict 对象

dict.get()

是 Python 字典(dict)对象的一个方法,用于安全地获取字典中指定键的值,如果键不存在则返回默认值(不会抛出异常)。

python 复制代码
# 假设有一个字典
parameters = {
    "folder_name": "CollectedData",
    "voxel_size": 0.05
}

# 获取已存在的键
folder = parameters.get('folder_name', "DefaultFolder")
print(folder)  # 输出: CollectedData

# 获取不存在的键,返回默认值
robot_size = parameters.get('robot_size', 0.3)
print(robot_size)  # 输出: 0.3

# 如果不写默认值,找不到键时返回 None
value = parameters.get('not_exist')
print(value)  # 输出: None

文件对象

.readlines()

是 Python 文件对象的方法,用于一次性读取文件中所有的行,并以列表的形式返回,每一行为一个字符串(包括换行符)。

python 复制代码
with open('example.txt', 'r') as f:
	lines = f.readlines()
	print(lines)
	 # 结果: ['第一行内容\n', '第二行内容\n', '第三行内容\n']

line.rstrip()

去除字符串末尾 的空白字符(包括换行符 \n、空格等)

python 复制代码
line = "hello\n"
print(line.rstrip())  # 输出: 'hello'

line.strip()

去除字符串开头和结尾的所有空白字符(包括换行符、空格、制表符等)

python 复制代码
line = " hello\n"
print(line.strip())  # 输出: 'hello'

os 模块

os.getenv()

是 Python 标准库 os 模块中的一个函数,用于获取环境变量的值。

python 复制代码
import os

# 假设你设置了环境变量
# export MY_PATH=/data/project

# 获取环境变量的值
my_path = os.getenv('MY_PATH')
print(my_path)  # 输出: /data/project

# 如果环境变量不存在,返回默认值
default_path = os.getenv('NOT_EXIST', '/default/path')
print(default_path)  # 输出: /default/path

os.getcwd()

是 Python 标准库 os 模块中的一个函数,用于获取当前工作目录的绝对路径

python 复制代码
import os

# 获取当前工作目录
current_dir = os.getcwd()
print("当前工作目录为:", current_dir)  # 输出: /root/Development/iPlanner

os.listdir()

是 Python 标准库 os 模块中的一个函数,用于获取指定目录下所有文件和文件夹的名称列表(只返回名称,不带路径)。

python 复制代码
import os

# 假设目录 /root/Development/iPlanner/data 里有 a.txt、b.txt、subdir/
file_list = os.listdir('/root/Development/iPlanner/data')
print(file_list)
# 可能输出: ['a.txt', 'b.txt', 'subdir']
  • 通常配合 os.path.isfile()os.path.isdir() 判断是文件还是文件夹。

os.path.join()

是 Python 标准库 os.path 模块中的一个函数,用于拼接一个或多个路径组件,自动根据操作系统添加合适的路径分隔符(如 Linux 下是 /,Windows 下是 \)。

python 复制代码
import os

# 拼接单层路径
path1 = os.path.join("root", "Development", "iPlanner")
# 结果: 'root/Development/iPlanner'

# 拼接多层路径
path2 = os.path.join("/home/user", "data", "images")
# 结果: '/home/user/data/images'

os.path.join(*[root_folder, "data"])

  • *参数解包运算符 ,用于把列表中的每个元素作为单独的参数传递给函数,实现灵活的参数传递。
    详细解释
  • [root_folder, "data"] 是一个列表,里面有两个元素。
  • * 运算符会把这个列表拆开,变成两个独立的参数传给 os.path.join, 等价于 os.path.join(root_folder, "data")
    作用
  • 如果有一个长度不确定的路径列表 ,可以用 * 把它全部传递给 os.path.join,实现动态拼接路径。

os.path.isfile()

是 Python 标准库 os.path 模块中的一个函数,用于判断指定路径是否为一个普通文件(不是目录,也不是其他类型)。

python 复制代码
import os

file_path = "/root/Development/iPlanner/data/sample.txt"
print(os.path.isfile(file_path))  # 如果是文件,输出 True;否则输出 False

dir_path = "/root/Development/iPlanner/data/"
print(os.path.isfile(dir_path))   # 输出 False,因为这是目录

json 模块

json.load()

是 Python 标准库 json 模块中的一个函数,用于从打开的文件对象中读取 JSON 格式的数据,并将其解析为 Python 字典或列表。

python 复制代码
import json

# 假设有一个 JSON 文件 config.json,内容如下:
# {
#     "name": "iPlanner",
#     "version": 1.0
# }

with open('config.json', 'r') as f:
    data = json.load(f)

print(data)
# 结果: {'name': 'iPlanner', 'version': 1.0}
相关推荐
孟健5 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞7 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽9 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程13 小时前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪13 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook14 小时前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田1 天前
使用 pkgutil 实现动态插件系统
python
前端付豪1 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
曲幽1 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
老赵全栈实战1 天前
Pydantic配置管理最佳实践(一)
python