当前位置: 首页 > news >正文

python爬虫初体验(二)

Python中,每个模块都有一个内置的变量 name,用于表示当前模块的名称。当一个Python文件被执行时,Python解释器会首先将该文件作为一个模块导入,并执行其中的代码。此时,__name__的值为模块的名称。

作用

  1. 模块可被导入也可直接执行:使一个Python脚本既可以作为一个独立的程序运行,也可以被其他脚本作为模块导入。
  2. 减少全局污染:当脚本作为模块被导入时,可以避免执行不必要的代码,提高代码的整洁度和可维护性。
  3. 测试代码:可以编写一些测试代码,只在直接运行脚本时执行,而不影响作为模块导入时的行为。

使用场景

  1. 脚本和模块分离:使脚本既可以独立运行,也可以作为模块导入。
  2. 单元测试:在脚本中编写一些测试代码,只在直接运行时执行。
  3. 初始化资源:在脚本直接运行时初始化一些资源,例如数据库连接等。

示例

假设有一个Python脚本 example.py:

import sysdef greet(name):print("Hello, {}!".format(name))def main():# 检查命令行参数数量if len(sys.argv) < 2:print("Usage: python script.py <name>")sys.exit(1) # 退出程序,返回错误码1# 获取命令行参数中的名字name = sys.argv[1]# 调用greet函数greet(name)# 如果此脚本被直接运行,则执行main函数
if __name__ == '__main__':main()

如果你直接运行这个脚本:

python example.py world

控制台会输出:Hello, World!,其中sys.argv['example.py', 'world']

作为模块导入如果你在另一个脚本中导入 example.py:

import example
example.greet("Alice")

则输出Hello, Alice!。example.py 中的 if __name__ == '__main__': 块中的代码不会被执行,因为 example.py 是作为模块被导入的,其 __name__ 的值为 'example',而不是 '__main__'

注意事项

  • 命令行参数:确保在运行脚本时提供了正确的命令行参数。
  • 编码问题:确保使用正确的编码处理非ASCII字符。
  • 错误处理:可以添加异常处理逻辑来捕获并处理可能出现的错误。

http://www.mrgr.cn/news/34821.html

相关文章:

  • 9.23作业
  • 网络工程/售后类面试题
  • CentOS一键安装Mosquitto开源消息代理结合内网穿透实现远程连接
  • 浅谈C++之多线程实现
  • 软考高级:企业信息化-数据挖掘中的上卷和下钻、旋转分析
  • tortoies-orm 一对一、一对多和多对多关系实现
  • 设计模式之中介者
  • k8s知识汇编
  • 前端导出excel表格
  • 分布式难题-三座大山NPC
  • 【JAVA-数据结构】初识集合框架
  • vue2和vue3页面加自定义水印(组件化)
  • 828华为云征文 | 华为云Flexusx与OwnCloud的完美融合,打造高效云端办公环境
  • Centos安装helm
  • 玩手机数据集 8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练
  • SaaS 软件转型计划
  • 【python】requests 库 源码解读、参数解读
  • 音视频入门基础:FLV专题(3)——FLV header简介
  • <<编码>> 第 17 章 自动操作(2)--自动加法器 示例电路
  • AI学习指南深度学习篇- Adadelta在深度学习中的应用