如果"车库"中只有一个"汽车",则以下代码会产生错误:
import xmltodict
mydict = xmltodict.parse(xmlstringResults)
for carsInGarage in mydict['garage']['car']:
# do something...
Run Code Online (Sandbox Code Playgroud)
原因是mydict['garage']['car']
只有一个列表,如果有一个以上的"汽车"元素.所以我做了这样的事情:
import xmltodict
mydict = xmltodict.parse(xmlstringResults)
if isinstance(mydict['garage']['car'], list):
for carsInGarage in mydict['garage']['car']:
# do something for each car...
else:
# do something for the car
Run Code Online (Sandbox Code Playgroud)
让代码运行.但对于更高级的操作,这不是解决方案.
有人知道某种功能,即使只有一个元素吗?
x = '16473.6'
y = str(int(float(x) * 1000))
print(y)
>>>16473599
Run Code Online (Sandbox Code Playgroud)
好吧...显然我做错了什么...我知道这些浮动的东西有时从 C# 有点困难...但我认为 * 1000 应该工作...好吧错
有人能告诉我如何更好地做到这一点吗?
非常感谢您
我正在尝试获取A4-Landscape输出文件。我正在修改的文档是A4-Portrait,因此我认为可以简单地将pageSize =“(21cm,29.7cm)”切换为pageSize =“(29.7cm,21cm)”,但是什么也没发生。
然后,我找到一个属性:rotation =“ 90”。屏幕上的页面仍为A4纵向,但内容显示为90度。在纸上可以,但是在屏幕上我必须将头转90度,不是很舒服。
之后,我尝试:pageSize =“(10cm,10cm)”,以为这看起来很糟糕,但没有任何变化。
生成的PDF文件的大小是否有可能在Python代码中设置,而不由RML文件设置?
这是Python代码:
#!venv/bin/python
# -*- coding: utf-8 -*-
from z3c.rml import pagetemplate
rmlPageTemplate = pagetemplate.RMLPageTemplateFile("test.rml")
open('test.pdf', 'wb').write(rmlPageTemplate())
Run Code Online (Sandbox Code Playgroud)
我的RML文件锁如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE document SYSTEM "rml_1_0.dtd">
<document test.pdf">
<docinit>
...
</docinit>
<template pageSize="(10cm, 10cm)"
rotation="90"
leftMargin="2.5cm"
rightMargin="2.5cm"
topMargin="2.5cm"
bottomMargin="2.5cm"
showBoundary="1"
>
<pageTemplate id="main">
<frame id="first" x1="2.5cm" y1="2.5cm" width="24.7cm" height="16cm" showBoundary="1"/>
</pageTemplate>
</template>
<stylesheet>
...
</stylesheet>
<story>
...
</story>
</document>
Run Code Online (Sandbox Code Playgroud)
非常感谢你。