0

我希望将文本打印出来,就像它在练习中显示的那样,列表列表*在每一行都有一个,并且每个都在一个新行中。我对 python 还是很陌生,用 Python 自动化无聊的东西这本书有时有点令人困惑。

我首先在 Python 编辑器中输入文本并让Pyperclip将其复制到剪贴板。问题是 Pyperclip 只接受一个字符串,文本以这种形式复制到剪贴板。

#! python3

#bulletPointerAdder.py - Adds Wikipedia bullet points to the start
#of each line of text on the clipboard.
#! python3

#bulletPointerAdder.py - 将 Wikipedia 项目符号添加到剪贴板上每行文本的开头#。

在 Python 外壳中:

import pyperclip
>>> text = 'Lists of monkeys Lists of donkeys Lists of pankeys'
>>> pyperclip.copy(text)
>>>
 RESTART: C:\Users\User\AppData\Local\Programs\Python\Python37-

32\bulletpointadder.py >>> text '* Lists of monkeys Lists of donkeys Lists of pankeys' >>>

import os
import pyperclip
text = pyperclip.paste()


#Separate lines and add starts.
lines = text.split(os.linesep)
for i in range(len(lines)): # loop through all indexes in the "lines"
list
    lines[i] = '* ' + lines[i] # add star to each sting in "lines" list

text = os.linesep.join(lines)
pyperclip.copy(text)

我实际上希望像下面的示例一样打印出文本,但问题是我将其打印为单个字符串。

  • 动物名单
  • 水族馆生活清单
  • 按作者缩写的生物学家名单
  • 品种列表
4

2 回答 2

1

首先理解这一点,然后转到第 3 步:

我们沿换行符拆分文本以获得一个列表,其中每个项目都是文本的一行。我们将列表存储在行中,然后循环遍历行中的项目。

对于每一行,我们在行首添加一个星号和一个空格。现在行中的每个字符串都以星号开头。

于 2020-06-17T11:49:13.833 回答
0
import pyperclip

text = pyperclip.paste()

# TODO manipulate the text in clipboard
lines = text.split('\n')                        # Each word is split into new line
for i in range(len(lines)):
    lines[i] = '* ' + lines[i]                  # Each word gets a * prefix
text = '\n'.join(lines)                         # all the newlines created are joind back
pyperclip.copy(text)                            # whole content is than copied into clipboard
print(text)

使用此代码,如果您复制事物列表,它仍将是预期的事物列表。

于 2019-02-24T20:30:35.120 回答