标签: pretty-print

从 GitHub 打印 Markdown 文件

我想分享一种从 GitHub 漂亮地打印 markdown (*.md) 文件的简单方法。

我发现了很多有趣的方法,主要是在这个问题上。但它们都没有更新和工作,或者我正在寻找什么(一种简单而舒适的漂亮打印方式)。基于几个答案,我设法自己制定了一个可行的解决方案。

也欢迎任何其他解决方案。

markdown github pretty-print

1
推荐指数
1
解决办法
2707
查看次数

如何使用 Python 创建 XML 文件?

我想创建一个 XML 文件。我试过了,但格式看起来很糟糕,它只显示一行。

就这个:

import xml.etree.cElementTree as ET
root = ET.Element("data")
doc = ET.SubElement(root, "status", date="20210123")

ET.SubElement(doc, "name", name="john").text = "some value1"
ET.SubElement(doc, "class", name="abc").text = "some vlaue2"

tree = ET.ElementTree(root)
tree.write("FILE.xml")
Run Code Online (Sandbox Code Playgroud)

输出是:

<data><status date="20210123"><name name="john">some value1</name><class name="abc">some vlaue2</class></status></data>
Run Code Online (Sandbox Code Playgroud)

但我的期望输出是:

<?xml version="1.0" encoding="UTF-8"?>

<data>
     <status>
          <name name="john">some value1</name>
          <class name="abc">some vlaue2</class>
     </status>
</data>
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我一个想法,请。我真的很感激。谢谢

python xml pretty-print elementtree

1
推荐指数
1
解决办法
7794
查看次数

Python没有打印完整的数据结构

所以我有一个Python文件,其中包含大量嵌套字典和列表的数据,如下所示:

recipes = {
    "recipe": {
        "name": "solar_panel",
        "type": "craft",
        "ingredients": {
            "input": [
                "coal_dust",
                "glass",
                "coal_dust",
                "glass",
                "coal_dust",
                "glass",
                "electronic_circuit",
                "generator",
                "electronic_circuit"
            ],
            "output": {
                "item": "solar_panel",
                "quantity": 1
            }
        }
    },
    "recipe": {
        "name": "re_battery",
        "type": "craft",
        "ingredients": {
            "input": [
                "nothing",
                "insulated_copper_cable",
                "nothing",
                "tin",
                "redstone",
                "tin",
                "tin",
                "redstone",
                "tin"
            ],
            "output": {
                "item": "re_battery",
                "quantity": 1
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个Python脚本就是这个

import vanilla
print(vanilla.recipes)
Run Code Online (Sandbox Code Playgroud)

人们会认为这只是打印完整的数据结构,但事实上它只打印最后一个子项(列表中的第23-43行).我觉得我在这里遗漏了一些明显的东西.

python pretty-print data-structures

0
推荐指数
1
解决办法
116
查看次数

如何以表格格式打印字典?

假设我有一个字典:

my_dict = {1:[1,2,3],4:[5,6,7],8:[9,10,11]}
Run Code Online (Sandbox Code Playgroud)

我想能够打印它看起来像:

1 4 8
1 5 9
2 6 10
3 7 11
Run Code Online (Sandbox Code Playgroud)

我实际上正在处理更大的字典,如果我能看到它们的外观会很好,因为我只是说它们很难阅读 print(my_dict)

python formatting dictionary pretty-print

0
推荐指数
1
解决办法
7695
查看次数

打印数组有适当的缩进

foreach ( $custom_fields as $field_key => $field_values ) {
    foreach ( $field_values as $key => $value )
        echo $field_key . '<br>';
        echo '<pre>' , print_r( $value,true) , '</pre>';
}
Run Code Online (Sandbox Code Playgroud)

虽然我使用的是print_r<pre>标签,在输出中看起来是这样的:

a:4:{i:0;s:6:"Casual";i:1;s:6:"Serene";i:2;s:6:"Unique";i:3;s:9:"Whimsical";}
Run Code Online (Sandbox Code Playgroud)

不应该垂直列出适当的缩进?我究竟做错了什么?

php arrays json pretty-print

0
推荐指数
1
解决办法
195
查看次数

可以对序列化的PHP对象进行格式化以使其易于阅读吗?

PHP的Serializer产生一个字节数组,可通过将其显示为单行字符串var_dump()。此字符串的格式很难读取,尤其是对于诸如数据库中存储的对象之类的方案。

为了读取这些值,是否可以将它们转换为缩进格式的可读字符串?还是在PHP中检索它们的唯一选择,unserialize()然后再执行诸如此类的操作var_dump()

php formatting serialization readability pretty-print

0
推荐指数
1
解决办法
821
查看次数

如何漂亮地打印逗号分隔文件?

以下是我的档案.我试图在输出之间保持恒定的宽度,以便所有管道符号都低于另一个,它看起来像表格式.我怎样才能做到这一点?当我邮寄输出时,我也需要具有相同的格式.

cat file.txt
name,score card,ID
Jack,Available,YES
Jen,NA,NO
Jerry,Available,YES
Padula,NA,YES
Mackenzi,NA,NO

sed 's/,/\t|\t/g' c.txt
name    |       score card      |       ID
Jack    |       Available       |       YES
Jen     |       NA      |       NO
Jerry   |       Available       |       YES
Padula  |       NA      |       YES
Mackenzi        |       NA      |       NO

==I want==
name      |       score card      |       ID
Jack      |       Available       |       YES
Jen       |       NA              |       NO
Jerry     |       Available       |       YES
Padula    |       NA              |       YES
Mackenzi  |       NA              |       NO
Run Code Online (Sandbox Code Playgroud)

bash awk sed pretty-print

0
推荐指数
1
解决办法
251
查看次数

如何在python中水平连接pandas数据帧

我已经尝试了几种不同的方法来从Python数据分析库(PANDAS)中水平连接DataFrame对象,但到目前为止我的尝试都失败了.

给定输入的期望输出:

我有两个数据帧:
d_1:

      col2    col3
col1                
str1     1  1.5728
str2     2  2.4627
str3     3  3.6143
Run Code Online (Sandbox Code Playgroud)

D_2:

      col2    col3
col1              
str1     4  4.5345
str2     5  5.1230
str3     6  6.1233
Run Code Online (Sandbox Code Playgroud)

我希望最终得到的数据帧是d_1和d_2并排:

      col2    col3    col1  col2   col3
col1                                  
str1     1  1.5728    str1     4  4.5345
str2     2  2.4627    str2     5  5.1230
str3     3  3.6143    str3     6  6.1233
Run Code Online (Sandbox Code Playgroud)

创建测试输入:

以下是一些创建数据帧的代码:

import pandas as pd

column_headers = ["col1", "col2", "col3"]
d_1 = dict.fromkeys(column_headers)
d_1["col1"] = ["str1", "str2", "str3"]
d_1["col2"] = [1, 2, 3]
d_1["col3"] = …
Run Code Online (Sandbox Code Playgroud)

python pretty-print dataframe python-3.x pandas

0
推荐指数
1
解决办法
1520
查看次数

如何在 Python 中漂亮地打印 json.loads 方法

目前,当我使用.loads(). 当从 Python 转换为 JSON 时,我使用indent作为参数。但是,.loads()没有缩进参数。

我浏览了 python JSON 文档,它们只展示了如何使用.dumps().

这是我的代码来说明我的观点:

import json

class Kid:

    def __init__(self, name, age, nickname, isFriendly):
        self.name = name
        self.age = age
        self.nickname = nickname
        self.isFriendly = isFriendly

boy = Kid("Jimmy", 10, None, False)

def encode_kid(o):
    if isinstance(o, Kid):
        return {"name": o.name, "age": o.age,
                "nickname": o.nickname, "Is friendly": o.isFriendly}

boyJSON = json.dumps(boy, default=encode_kid, indent=2)
boyPYTHON = json.dumps(boyJSON, indent=2)

print(boyJSON)
print(boyPYTHON)
Run Code Online (Sandbox Code Playgroud)

python json pretty-print

0
推荐指数
1
解决办法
5928
查看次数

在python脚本中拥有漂亮的打印选项

我正在输出相当庞大的XML结构到文件,我希望用户能够启用/禁用漂亮的打印.

我正在使用大约150MB的数据,当我尝试xml.etree.ElementTree从它的元素对象构建树结构时,它使用了大量的内存,所以我通过存储原始字符串并输出来手动执行此操作.write().我的输出序列如下所示:

ofile.write(pretty_print(u'\
\t\t<LexicalEntry id="%s">\n\
\t\t\t<feat att="languageCode" val="cz"/>\n\
\t\t\t<Lemma>\n\
\t\t\t\t<FormRepresentation>\n\
\t\t\t\t\t<feat att="writtenForm" val="%s"/>\n\
\t\t\t\t</FormRepresentation>\n\
\t\t\t</Lemma>\n\
\t\t\t<Sense>%s\n' % (str(lex_id), word['word'], '' if word['pos']=='' else '\n\t\t\t\t<feat att="partOfSpeech" val="%s"/>' % word['pos'])))
Run Code Online (Sandbox Code Playgroud)

.write()我调用我的函数pretty_print 里面,根据命令行选项,应该删除所有制表符和换行符

o_parser = OptionParser()
# ....
o_parser.add_option("-p", "--prettyprint", action="store_true", dest="pprint", default=False)
# ....

def pretty_print(string):
    if not options.pprint:
        return string.strip('\n\t')
    return string
Run Code Online (Sandbox Code Playgroud)

我写了'should',因为它没有,在这种特殊情况下它不会删除任何字符.

但在这种情况下,它工作正常:

for ss in word['synsets']:
    ofile.write(pretty_print(u'\t\t\t\t<Sense synset="%s-synset"/>\n' % ss))
Run Code Online (Sandbox Code Playgroud)

我想到的第一件事是替换可能存在一些问题,但是当我在pretty_print 函数中打印传递的字符串时,它看起来非常好.

任何可能导致这种.strip()情况的建议都不起作用?
或者,如果有更好的方法,我会接受任何建议

python string pretty-print

-1
推荐指数
1
解决办法
280
查看次数

使用整数在Python中打印注释

def triangular(n):
    tri = 0
    for i in range(1, n+1):
        tri = tri + i

    print ("The answer is equal to" +(tri))

triangular(4)
Run Code Online (Sandbox Code Playgroud)

我只是需要print语句的帮助,因为它不起作用.我试图打印答案等于三

python pretty-print

-1
推荐指数
1
解决办法
105
查看次数

如何以json格式(双引号)精美打印(人类可读地打印)Python字典?

这是一个后续问题这一个。我需要同时对python dict进行prettyprint(这样我才能在视觉上对其进行检查/修改),并且我需要以json格式(使用双引号)输出。

pprintmodule漂亮地打印字典,但是使用单引号(不是json!)。这是链接的其他问题/答案的主题。

json.dumps 将使用双引号,但将其打印在大行中(难以阅读!)

我们如何才能做到这两者?

python json dictionary pretty-print

-1
推荐指数
1
解决办法
4098
查看次数