我有以下生成的字符串,tkinter然后使用以下方法读取textEntry.get():
"
=========New Coffee Order===============
=========Bean Information===============
Type: Ethiopian
Origin: Single
=========Roaster/price==================
Steve's Beans
8.50/lb
Everyday Espresso
10.00/lb
Critical Coffee
6.00/lb
=========End Coffee Order==============
"
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用fpdf生成此信息的pdf文件,该文件遵循格式指南.我的问题是:
如何告诉python以解释每一行的方式读取字符串而不仅仅是一个字符列表?
我最初的想法是告诉python逐行读取这个字符串并为每行分配值.然而,这似乎效率低下,有没有更好的方法来做到这一点?
谢谢.
Rob*_*obᵩ 10
str.splitlines() 将单个多行字符串转换为单行字符串列表.
引用文档:
返回字符串中的行列表,在行边界处断开.此方法使用通用换行方法来分割线.
lines = text.splitlines()
Run Code Online (Sandbox Code Playgroud)
str.split('\n') 会做的伎俩:
In [135]: text.split('\n')
Out[135]:
['"',
'=========New Coffee Order===============',
'=========Bean Information===============',
'Type: Ethiopian',
'Origin: Single',
'',
'=========Roaster/price==================',
"Steve's Beans",
'8.50/lb',
'',
'Everyday Espresso',
'10.00/lb',
'',
'Critical Coffee ',
'6.00/lb',
'',
'',
'=========End Coffee Order==============',
'"']
Run Code Online (Sandbox Code Playgroud)
您需要做的就是逐行遍历返回的列表:
for line in text.split('\n'):
...
Run Code Online (Sandbox Code Playgroud)
比较@Robᵩ和我的解决方案:
In [137]: %timeit text.splitlines()
1000000 loops, best of 3: 1.8 µs per loop
In [138]: %timeit text.split('\n')
1000000 loops, best of 3: 1.31 µs per loop
Run Code Online (Sandbox Code Playgroud)