验证/生成IBAN和BICS

schwift的Python项目详细描述


https://img.shields.io/pypi/v/schwifty.svg?style=flat-squarehttps://img.shields.io/travis/figo-connect/schwifty/master.svg?style=flat-squarehttps://img.shields.io/pypi/l/schwifty.svg?style=flat-square

我得和你的国际银行账号打交道

schwifty是一个用于处理bics和iban的python库。它允许您

  • 验证支票号码和国际银行账号的国家特定格式
  • 验证BICS中的格式和国家代码
  • 从银行代码生成BIC(目前适用于德国)
  • 根据国家代码、银行代码和帐号生成IBAN。
  • 作为属性访问所有相关组件

版本控制

由于从bic到bank_代码的映射不时更新,schwifty使用 CalVer使用方案YY.0M.Micro

使用量

国际银行账号

让我们直接跳进去:

>>>fromschwiftyimportIBAN>>>iban=IBAN('DE89 3704 0044 0532 0130 00')>>>iban.compact'DE89370400440532013000'>>>iban.formatted'DE89 3704 0044 0532 0130 00'>>>iban.country_code'DE'>>>iban.bank_code'37040044'>>>iban.account_code'0532013000'>>>iban.length22>>>iban.bic<BIC=COBADEFFXXX>

到目前为止还不错。所以您可以创建一个IBAN-对象并访问 作为属性的iban的相关组件。正如你在最后一行看到的,你可以 还要掌握与iban银行代码相关联的bic号码。目前 仅适用于德国银行的IBAN。

在幕后,iban在实例化时已经过验证。尊敬地 根据ISO 13616合规性,检查账户代码、银行代码和 分支代码可能具有正确的国家特定格式。每当你经过一个 无效的iban到__init__-方法,您将得到一个ValueError和一个适当的 错误消息。

>>>IBAN('DX89 3704 0044 0532 0130 00')...ValueError:Unknowncountry-codeDX>>>IBAN('DE99 3704 0044 0532 0130 00')...ValueError:Invalidchecksumdigits

但是,如果您不想从银行代码和帐户代码生成一个iban呢? 使用generate-classmethod!

>>>iban=IBAN.generate('DE',bank_code='10010010',account_code='12345')<IBAN=DE40100100100000012345>>>>iban.checksum_digits'40'

注意,即使帐户代码的位数少于要求的位数(在德国,帐户应该 长度为10位),在正确的位置添加了零。另外还有校验和 数字已经计算出来了,这很好。

比克

除了iban,还有业务标识符代码(bic)。它是唯一的识别码 对于金融机构和非金融机构。schwifty还有一个BIC-对象 or less具有与IBAN-对象相同的接口。

>>>fromschwiftyimportBIC>>>bic=BIC('PBNKDEFFXXX')>>>bic.bank_code'PBNK'>>>bic.branch_code'XXX'>>>bic.country_code'DE'>>>bic.location_code'FF'>>>bic.country_bank_code'86010090'

country_bank_code是特定于国家的银行代码,您可以在iban中找到它。这个 映射当前仅适用于德国BICS。

BIC-对象还对实例化进行一些基本验证,并引发一个ValueError 如果国家代码、BIC长度无效或结构与ISO 9362不匹配 规范。

>>>BIC('PBNKDXFFXXX')...ValueError:InvalidcountrycodeDX>>>BIC('PBNKDXFFXXXX')...ValueError:Invalidlength12>>>BIC('PBN1DXFFXXXX')...ValueError:InvalidstructurePBN1DXFFXXXX

如果schwifty的内部注册包含您所在国家的BIC(这一点目前仍然有效 对于德国),则可以使用exists-属性检查BIC是否已注册。

安装

要安装schwifty,只需:

$ pip install schwifty

姓名

因为swiftswiftly已经被openstack项目占用,但是我们不知怎么的 为了指出与斯威夫特的联系,瑞克和莫蒂想出了一个名字 项目schwifty

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用Selenium Java查找筛选器窗格“铅笔图标”的元素时出现问题   分布式缓存l2上使用infinispan和hibernate的java连接锁   使用Java的DOM XML API解析XML中的符号和   java是解析和操作字符串的有效方法   java发布NewRelicMeterRegistry时如何过滤仪表   多维数组在java中读取文件后将数据值分组   java如何将httpClient配置为jsoup   java BreakIterator在Android中是如何工作的?   找不到maven GAE类:原因:java。lang.ClassNotFoundException应用程序标识cRedential$AppenginecRedential包装   Jlabel调整java大小   调试如何在VScode中的java类依赖项中设置断点   java正在获取文件夹名,而不是。mp3文件{Android}   java如何将从DiffieHellman类生成的AES密钥添加到使用该密钥的类