python提取身份证中的生日和性别

这篇具有很好参考价值的文章主要介绍了python提取身份证中的生日和性别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.代码

def sfzAnalysis(idNum):
    #检查身份证长度是否正确
    if len(idNum)!=18:
        raise  ValueError("身份证号码长度不正确,请输入一个18位的身份证号码。")
        #raise关键字在Python中有多种用途,主要涉及异常的抛出和错误处理

    #提取出生日期
    year = idNum[6:10]
    month = idNum[10:12]
    day = idNum[12:14]
    birthday = "{}年{}月{}日".format(year,month,day)

    #提取性别
    gender_code = int(idNum[16])
    gender = "女" if gender_code % 2 ==0 else "男"

    return  birthday,gender

try:
    idNum = input("请输入您的身份证号码:")
    birthday,gender = sfzAnalysis(idNum)
    print("出生日期:",birthday)
    print("性别:",gender)
except ValueError as e:
    print("处理身份证号码时发生错误:",e)




2.分析:

1. 我们的身份证号码是一串18位的数字,其中包含了许多关于持有人身份的信息,比如出生日期和性别。前6位是地区码,接下来的8位是出生日期,然后是顺序码和性别码,
最后一位是校验码。性别由倒数第二位表示,奇数为男,偶数为女。
2.解析身份证号码中的出生日期,出生日期位于身份证的第7位到第14位,格式为YYYYMMDD。例如,如果身份证号码的这部分数字是19900101,则表示持有人的出生日期为1990年1月1日。
 3.解析身份证号码中的性别,性别由身份证的倒数第二位(第17位)决定,如果这一位是奇数,则持有人为男性;如果是偶数,则为女性。

 3.扩展

1.在Python中,try语句用来捕获和处理在执行代码块时可能发生的异常。的基本结构如下:

try:
    # 尝试执行的代码块
except 异常类型:
    # 如果发生异常,则执行这里的代码
finally:
    # 无论是否发生异常,都会执行这里的代码(可选)

(1.)try 块:在这个块中的代码是你希望正常执行的代码。如果在这个块中的代码引发了异常,执行将立即跳到 except 块(如果有的话)。
(2.)except 块:这个块用于捕获和处理异常。except 关键字后面跟着你想要捕获的异常类型。如果 try 块中的代码引发了指定的异常类型,则执行 except 块中的代码。你可以捕获多个不同的异常类型,每个类型对应一个 except 子句。
(3.)finally 块(可选):这个块中的代码无论是否发生异常都会执行。这适用于清理代码,比如关闭文件或释放资源。finally 块在 except 块之后执行,即使有 return、continue 或 break 语句。

2.在Python中,raise关键字用于主动抛出一个异常。当你在程序中检测到某个错误条件时,可以使用raise来立即停止程序的执行,并抛出一个异常,这样可以避免程序继续运行可能导致更严重的问题。

(1.)raise关键字是必须的,因为它用于主动抛出异常,而不是让程序默默地处理错误或者给出一个错误提示。
(2.)ValueError是用来指定抛出的异常类型,它是一个内置的异常类型,表示“值错误”。如果你认为其他类型的异常更适合,比如IndexError或TypeError,你可以更改它。但是,你需要确保使用的异常类型与你想要表达的错误情况相匹配。

3.Python中使用format方法对字符串进行格式化的一个例子。

(1.){} 是一个占位符,用于在格式化字符串中插入变量值。
(2.)format 是一个内置函数,用于将格式化的字符串与变量值结合起来。它接受一个或多个变量,并根据占位符的位置将这些变量值插入到字符串中。文章来源地址https://www.toymoban.com/news/detail-843070.html

到了这里,关于python提取身份证中的生日和性别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安装PaddlePaddle及使用PP-OCRv3 模型提取身份证信息

    1)目标 本指南的首要目的是提供一种快速使用百度开源深度学习平台(飞浆平台)的方法,飞浆平台提供了很多已经完成训练的AI模型,让了解 Python、Docker、Linux 基础知识的开发人员能够在 一至几个工作日 内完成飞浆AI模型在项目的使用搭建; 飞浆平台支持的硬件环境:

    2024年02月11日
    浏览(39)
  • 基于Python实现身份证信息识别

    2024年01月19日
    浏览(52)
  • 【计算机视觉|风格迁移】PP-GAN:使用GAN的地标提取器将韩国人像的风格转化为身份证照片

    本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题: PP-GAN : Style Transfer from Korean Portraits to ID Photos Using Landmark Extractor with GAN 链接:[2306.13418] PP-GAN : Style Transfer from Korean Portraits to ID Photos Using Landmark Extractor with GAN (arxiv.org) 风格转换的目标是在保持图像内容的同

    2024年02月13日
    浏览(44)
  • 8.OpenCV-识别身份证号码(Python)

    需求描述: 通过OpenCV识别身份证照片上的身份证号码(仅识别身份证号码) 实现思路: 1.将身份证号中的0,1,2,3,4,5,6,7,8,9作为模板,与身份证照片中的身份证号码区域进行模板匹配。 2.先要制作一个身份证号码模板,我这里弄了一个,基本上可以用。  3.识别出身份证照片身

    2024年02月11日
    浏览(52)
  • Python使用阿里API进行身份证识别

    孟莉苹,女,西安工程大学电子信息学院,2021级硕士研究生,张宏伟人工智能课题组 研究方向:机器视觉与人工智能 电子邮件:2425613875@qq.com 凭借领先的人工智能与知识图谱技术,对身份证正反面自动识别,并提取姓名、出生日期、身份证号、住址、性别、民族、发证机关

    2024年02月07日
    浏览(51)
  • 使用Python和OpenCV实现身份证识别

    Python是一种功能强大的编程语言,可以用于各种各样的应用场景,包括身份证识别。在本文中,我们将介绍如何使用Python来识别身份证,并提供一个示例代码来演示这个过程。 身份证是中国公民的重要证件,包含了个人的基本信息,如姓名、性别、出生日期、民族、住址等。

    2024年02月16日
    浏览(47)
  • OpenCV-Python身份证信息识别

    本篇文章使用OpenCV-Python和CnOcr来实现身份证信息识别的案例。想要识别身份证中的文本信息,总共分为三大步骤:一、通过预处理身份证区域检测查找;二、身份证文本信息提取;三、身份证文本信息识别。下面来看一下识别的具体过程CnOcr官网。识别过程视频 这里的环境需

    2024年02月04日
    浏览(43)
  • Python使用阿里API进行身份证实名认证

    孟莉苹,女,西安工程大学电子信息学院,2021级硕士研究生,张宏伟人工智能课题组 研究方向:机器视觉与人工智能 电子邮件:2425613875@qq.com 凭借领先的人工智能与知识图谱技术,对身份证正反面自动识别,并提取姓名、出生日期、身份证号、住址、性别、民族、发证机关

    2024年02月02日
    浏览(51)
  • 基于python+pyqt实现opencv银行卡身份证等识别

        识别结果 查看处理过程 历史记录 无法粘贴视频........ 视频和代码都已上传百度网盘,放在主页置顶文章

    2024年02月11日
    浏览(39)
  • python 身份证读取 照片并通过摄像头实时 比对相似度 人证比对软件 源码

    最近朋友需要一个人证比对软件需要实现以下功能: 通过摄像头实时采集人脸图像 通过身份证读卡器采集身份证信息 和 身份证照片 使用实时人脸照片 和 身份证照片做相似度比对 比对后返回相似度,或者返回同一人,非同一人 实时采集照片 和 身份证信息照片存档,方便

    2024年02月11日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包