以类似位图的方式操作ASCII艺术表(&T)。

ascim的Python项目详细描述


ASCIM-操作ASCII艺术,就像你处理光栅图像一样

Upload Python PackagePyPI

文档前幽默

Do you know why the crazy guy started a side project to feed another one?

No, you should ASCIM.

如果您从memethesis cli来到这里,请直接转到“ASCIM Tables”部分。在

安装

pip install ascim就可以了。在

使用

基本ASCIM等级

fromascim.ascimimportASCIMim=ASCIM('''In ASCIM,every characteris likea pixel''')

im现在是一个ASCIM对象,包含以下文本(包含在矩形*):

^{pr2}$

第0、2和3行的索引为零,在其右侧用空格填充 所以它们的长度都和线1一致。 ASCIM对象被视为图像,因此字符串方法不再适用。在

* but what is in this rectangle? We will cover this later on in section 'ASCIM Tables'.

ASCIM表格

ASCIM表是ASCIM图像的容器对象。ASCIM图像(或非类型) 可以占用表格中的一个单元格,就像在电子表格中一样。在

代码示例:

fromascim.ascimimportASCIMfromascim.tableimportASCIMTabletable=ASCIMTable.from_text('<copy paste that table from below>')print(table.cell_at(0,0).to_text())# => 'symbol'print(table.size)# => (4, 7)

文本表示

表和表都是为文本表示而设计的 人类可读。下面是一个例子: (relevant xkcd

+--------+---------------+---------------+------------------------+
| symbol | name          | size          | notes                  |
+--------+---------------+---------------+------------------------+
| kB     | Kilobyte      | 1024 bytes    | 1000 bytes during leap |
|        |               | or 1000 bytes | years, 1024 otherwise  |
+--------+---------------+---------------+------------------------+
| KB     | Kelly-Bootle  | 1012 bytes    | Compromise between     |
|        | Standard Unit |               | 1000 and 1024 bytes    |
+--------+---------------+---------------+------------------------+
| KiB    | Imaginary     | 1024sqrt(-1)  | Used in quantum        |
|        | Kilobyte      | bytes         | computing              |
+--------+---------------+---------------+------------------------+
| kb     | Intel         | 1023.937528   | Calculated on          |
|        | Kilobyte      | bytes         | Pentium F.P.U          |
+--------+---------------+---------------+------------------------+
| Kb     | Drivemaker's  | Currently     | Shrinksby 4 bytes each |
|        | Kilobyte      | 908 bytes     | year for marketing     |
|        |               |               | reasons                |
+--------+---------------+---------------+------------------------+
| KBa    | Baker's       | 1152 Bytes    | 9 bits to the byte     |
|        | Kilobyte      |               | since you're such a    |
|        |               |               | good customer          |
+--------+---------------+---------------+------------------------+
规格
  1. cell是存储在ASCIMTable中的ASCIM对象或非类型。 打印时,它在水平方向上用+-括起来 +|垂直。NoneType表示单元格中没有内容, 并在显示时解释为1x1 ASCIM对象。在

  2. 在管道的每一侧(垂直条;|)上,必须 成为一个空间。如图所示:

    +---+
    |012|
    |345|
    |678|
    +---+
    

    在这个矩形封闭区域,“单元”仅覆盖1、4和7。 位置0、3、6、2、5、8必须是空格。 位置1和7不应为空格。 也就是说,只有水平边距是必要的。在

  3. 当文本中的行太宽或列太高而无法转换时 对于ascimable,多余的列/行空间被截断。在

ASCIM Draw

使用ASCIMDraw,您可以对ASCIM图像进行就地修改。 ASCIMDraw对象以(对)ASCIM对象的引用作为其参数。在

代码示例:

fromascim.ascimimportASCIMfromascim.drawimportASCIMDrawim=ASCIM.new((5,5))draw=ASCIMDraw(im)draw.text((1,2,4,2),'oh nice')# text is wrapped in a 4x2 box# `im` is modified in-placeprint(im.to_text())###  oh#  nice#

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

推荐PyPI第三方库


热门话题
java Maven:无法找到或加载主类   java如何解决JRE旧版本中的enhancedforloop错误?   java连续internet签入后台Android   java在Eclipse的包资源管理器中,除了文件名之外,>(大于括号)意味着什么?   不注册为服务的java查询eureka   多线程对于可以在java中暂停和取消暂停的线程化应用程序,有一个好的解决方案吗?   java是收集器中的错误报告。toMap()坏了吗?   使用java命令在mysql中恢复数据库   在服务器上运行程序的java   如何使用java在excel中读取和写入值?   JavaSpringBoot:从请求中读取特定字段并在响应中设置它的拦截器   java Gluon应用程序无法在iOS上启动   从C++访问java方法的最有效方法   EclipseJava空指针异常JMenuBar   连接用户输入字符串以转换为完整的文件路径(Java)   使用多个证书为java小程序签名   安卓 E/log_标签(1601):解析数据组织时出错。json。JSONException:值<!java类型的DOCTYPE。无法将lang.String转换为JSONArray   java在Eclipse/EMF中是否可以将操作参数建模为vararg?   从csv平面文件填充JavaBean树结构的算法   java如何为我当前的实时应用程序Android实现Inapp更新Google API