python-configparser模块

这篇博客介绍了如何使用Python的Configparser模块读取和解析配置文件。内容包括配置文件的格式,如`[section]`定义和键值对,以及两种获取特定值的方法:直接通过section和option获取,或者使用get方法。还提到了转换值类型的函数getstr,并展示了获取指定section下所有信息的基本操作。

1.功能:读取配置文件

2.用法:

2.1配置文件格式

[db] 
db_host = 127.0.0.1 
db_port = 69 
db_user = user_name
db_pass = pw



[concurrent] 
thread = 10 
processor = 20

2.2读取某一个值:

from configparser import Configparser    #导包
filen = ''                           #配置文件名
cp = Configparser()                  #初始化对象
cp.read(filename)                    #读取文件内容,返回值存在cp中
cp.sections()                        #获取每一个section结点,即[]里的东西

方式1:
db_sec = cp['db']                    # 获取option
concurrent_sec = cp['concurrent']    # 获取option

host_data = db_sec['db_host']        #根据option下的键值对获取值

方式2:
host_data = cp.get("db", "db_host")

转换值类型
host_data = cp.getstr("db", "db_host")

2.3获取指定section下所有的信息

o_l = cp.items('db')

剩下的有时间再补

你已经安装了最新版本的 `python3-rospkg`,所以这个包本身没有问题。 但你仍然遇到如下错误: ``` ModuleNotFoundError: No module named 'rospkg' ``` 这说明你的 Python 环境可能没有正确找到 `rospkg` 模块。ROS 依赖的模块虽然安装了,但可能被安装到了不同的 Python 版本或路径下。 --- ## ✅ 解决方案:排查 Python 环境和模块路径 ### ✅ 步骤 1:确认当前使用的是 Python 3 ROS Noetic **只支持 Python 3**,如果你在使用 Python 2 执行脚本,会找不到 ROS 的模块。 ```bash python --version ``` 如果你看到的是 `Python 2.x`,请使用 `python3` 替代: ```bash python3 -c "import rospkg" ``` 如果这个命令可以成功执行,说明模块安装在 Python 3 中,但你的 ROS 脚本可能被 Python 2 运行了。 --- ### ✅ 步骤 2:检查 ROS 脚本的 shebang 行 打开你的 ROS 脚本: ```bash nano /home/ucar/ucar_ws/src/voice_control/scripts/voice_control.py ``` 确保第一行是: ```python #!/usr/bin/env python3 ``` 而不是: ```python #!/usr/bin/env python # 这可能会使用 Python 2 ``` --- ### ✅ 步骤 3:检查 Python模块路径 运行以下命令查看 `rospkg` 是否在模块路径中: ```bash python3 -c "import sys; print(sys.path)" ``` 你应该能看到类似 `/usr/lib/python3/dist-packages` 的路径。 再运行: ```bash ls /usr/lib/python3/dist-packages | grep rospkg ``` 如果能看到 `rospkg` 相关文件,说明模块已经安装正确。 --- ### ✅ 步骤 4:重新 source ROS 环境变量 有时候 ROS 环境变量未加载,也会导致模块找不到: ```bash source /opt/ros/noetic/setup.bash ``` 然后再运行你的节点: ```bash rosrun voice_control voice_control.py ``` --- ## ✅ 总结排查流程 | 问题 | 原因 | 解决方法 | |------|------|-----------| | `ModuleNotFoundError: No module named 'rospkg'` | 使用了 Python 2 | 使用 `python3` 或修改 shebang | | `rospkg` 安装但找不到 | Python 路径问题 | 检查 `sys.path` 和模块安装路径 | | ROS 环境未加载 | 未 source ROS 环境 | `source /opt/ros/noetic/setup.bash` | ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值