验证/生成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第三方库


热门话题
java楼梯的最大高度   java Jackson从1.7.1更新到2.8.6 JsonTypeInfo子类型反序列化   Spring WebApp中的java JPA异常处理   java在SwingWorker(doInBackground)中从WorkerThread调用多个方法?   java Android Studio构建到jar   java是添加多个按钮组的更有效方法   java MySQL JDBC连接池最大大小   java如何防止元素<Integer>变成元素<Object>   Java:处理大型XML文件提取数据而不编写状态自动机?   SpringBoot和React Web应用程序中CAS的java重定向问题   需要java算法方面的帮助吗   java在JDK 16中使用PowerMock   java异常错误本机方法签名   在Java Android中将JSON映射到数组/对象   如何打开一个窗口。java程序中的dat文件   java应用程序引擎+Maven+热插拔   java Moxy的getValueByXPath为除根元素以外的所有元素返回null