Python文件读取代码中strip()的作用

这行代码 line.strip() 的作用是:

主要功能

去除字符串 line 两端的空白字符。

具体会去除的字符包括:

  1. 空格 (space, ' ')
  2. 换行符 (newline, '\n')
  3. 回车符 (carriage return, '\r')
  4. 制表符 (tab, '\t')
  5. 其他空白字符(如垂直制表符等)

在这个具体上下文中的作用:

python 复制代码
if line.strip() and not line.startswith("#")
  1. line.strip() 在条件判断中:用于检查去除空白后的行是否为空

    • 如果一行只有空白字符(比如空行),strip() 后会变成空字符串 ""
    • 空字符串在布尔上下文中为 False
    • 这样可以过滤掉空行
  2. line.strip() 在列表推导式中:作为列表的元素值

    python 复制代码
    commands = [
        line.strip()  # ← 这个会去除每行两端的空白,返回干净的字符串
        for line in f
        if line.strip() and not line.startswith("#")
    ]

示例:

假设文件内容:

复制代码
# 这是一条注释

echo "hello"   
   
ls -la  # 列出文件

处理过程:

  1. # 这是一条注释 → 以 # 开头 → 被 if 条件过滤掉
  2. 空行 → strip() 后为空字符串 → 被过滤掉
  3. echo "hello" → 去除末尾空格 → 'echo "hello"'
  4. ls -la # 列出文件 → 保留,因为注释不在行首

类似方法对比:

  • strip():去除两端空白
  • lstrip():只去除左侧(开头)空白
  • rstrip():只去除右侧(末尾)空白
  • strip('\n'):只去除换行符,不去除其他空白

在这个上下文中,使用 strip() 可以确保:

  1. 过滤掉空行(空字符串判断)
  2. 存储的命令没有多余的空白字符
  3. 保持了行内的原始内容(除了两端的空白)
相关推荐
DXM05216 小时前
第13期|遥感语义分割模型:U-Net核心原理+遥感落地优势
人工智能·python·深度学习·目标检测·随机森林·机器学习·支持向量机
码来的小朋友6 小时前
[python] 我开发了一个有20个关卡随机地图的迷宫游戏
python·游戏·pygame
夏天测6 小时前
微信小程序自动化漏洞挖掘流水线:从缓存提取到密钥验证全流程实战
python·网络安全·微信小程序·漏洞挖掘
叫我:松哥7 小时前
基于Python的共享单车租赁数据分析与预测系统,技术栈flask+boostrap+随机森林+XGBoost
人工智能·python·深度学习·算法·随机森林·数据分析·flask
Li#7 小时前
web端电商项目自动下单发货评价晒图需要用到的能力
python·自动化
雨辰AI7 小时前
从零搭建大模型本地运行环境|Python+CUDA 基础配置避坑大全
大数据·开发语言·人工智能·python·ai·ai编程·ai写作
DogDaoDao7 小时前
【第 05 篇】Python的字典与集合
开发语言·python·集合·字典
涛声依旧-底层原理研究所8 小时前
混合检索 + 重排:让 AI Agent 拥有「既全又准」的认知骨架
人工智能·python
努力写A题的小菜鸡8 小时前
01-PyTorch加载数据初认识(dataset运用)
人工智能·pytorch·python
abcy0712138 小时前
python fastapi celery hdfs 异步上传
python·hdfs·fastapi