题目描述

项目:在 Wiki 标记中添加无序列表

在编辑一篇维基百科的文章时,你可以创建一个无序列表,即让每个列表项占据一行,并在前面放置一个星号。但是假设你有一个非常大的列表,希望添加前面的星号。你可以在每一行开始处输入这些星号,一行接一行。或者也可以用一小段Python 脚本,将这个任务自动化。

bulletPointAdder.py 脚本将从剪贴板中取得文本,在每一行开始处加上星号和空格,然后将这段新的文本贴回到剪贴板。例如,如果我将下面的文本复制到剪贴板(取自于维基百科的文章“List of Lists of Lists”):

Lists of animals

Lists of aquarium life

Lists of biologists by author abbreviation

Lists of cultivars

然后运行 bulletPointAdder.py 程序,剪贴板中就会包含下面的内容:

* Lists of animals

* Lists of aquarium life

* Lists of biologists by author abbreviation

* Lists of cultivars

这段前面加了星号的文本,就可以粘贴回维基百科的文章中,成为一个无序列表。

运行

命令行运行

复制那四行List

D:\>cd D:\Code\VimCode\Python_auto\Run
D:\Code\VimCode\Python_auto\Run>python bulletPointAdder.py

脚本运行

步骤分析:

1.剪切板的复制和粘贴,使用text=pyperclip.paste(),这个不难,简单使用pyperclip库中的.paste()和.copy()就行

2.分离文本中的行,添加星号。line = text.split('\n')。

3.处理后连结line。text='\n'.join(lines)

代码:

#! python4
# bulletPointAdder.py - Adds Wikipedia bullet points to the start
# of each line of text on the clipboard. import pyperclip
text = pyperclip.paste()
# 分离行和添加星号
lines = text.split('\n')
for i in range(len(lines)):
lines[i] = '*' + lines[i] # 连结lines
text = '\n'.join(lines)
pyperclip.copy(text)

使用字符串方法总结:

split(str),分离以str为间隔

' '.join(str),以' '连接str列表

Python实践练习:在 Wiki 标记中添加无序列表的更多相关文章

  1. 在 Wiki 标记中添加无序列表

    项目:在 Wiki 标记中添加无序列表在编辑一篇维基百科的文章时,你可以创建一个无序列表,即让每个列表项占据一行,并在前面放置一个星号.但是假设你有一个非常大的列表,希望添加前面的星号.你可以在每一行 ...

  2. python框架之Django(8)-CBV中添加装饰器

    现有如下检查登录装饰器: from functools import wraps def check_login(func): @wraps(func) def inner(request, *arg ...

  3. WPF: 在ListView中添加Checkbox列表

    描述:ListView是WPF中动态绑定工具的数据容器,本文实现了一个在ListView中显示的供用户选择的列表项目,并且控制列表中选择的项目数量,即实现单选. XAML中创建ListView,代码如 ...

  4. Python实践练习目录

    缘由 做中学才是最好的方法,通过这些项目来加强自己的Python掌握程度. 原则 成体系地学,不搞"题海战术" 通所有不如精一物,精一物方可通所有 走心学,忌浮躁 项目列表 字符串 ...

  5. Python之向日志输出中添加上下文信息

    除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们 ...

  6. 【转】Python之向日志输出中添加上下文信息

    [转]Python之向日志输出中添加上下文信息 除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定 ...

  7. Python 日志输出中添加上下文信息

    Python日志输出中添加上下文信息 除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如: ...

  8. 【python】实践中的总结——列表『持续更新中』

    2016-04-03 21:02:50 python list的遍历 list[a::b]   #从list[a] 开始,每b个得到一个元组,返回新的list 举个例子: >>> l ...

  9. ArcGIS中添加进自定义的ttf字符标记符号

    原文:ArcGIS中添加进自定义的ttf字符标记符号 ArcGIS系统中的样式可能不能满足实际生产需要,为了实现快速制图,可自定义一些样式,以便重复利用. 1.   制作的符号库 使用 FontCre ...

随机推荐

  1. socket创建TCP服务端和客户端

    看情况选择相对应的套接字*面向连接的传输--tcp协议--可靠的--流式套接字(SOCK_STREAM)*面向无连接的传输--udp协议--不可靠的--数据报套接字(SOCK_DGRAM) 在liun ...

  2. C函数说明

    输入函数scanf_s()   比如:char d[20];写成scanf_s("%s",d,20); 输出函数printf()      比如:printf("hell ...

  3. PageViewController和UIPageControl

    以前经常把这两个东西当成一回事, PageViewController像电子书那样,一页之中可以放几个childViewcontroller,  然后左右翻,当前frame显示几个viewcontro ...

  4. pat甲级 1152 Google Recruitment (20 分)

    In July 2004, Google posted on a giant billboard along Highway 101 in Silicon Valley (shown in the p ...

  5. PEP

    用python ,  PEP难以绕过.  PEP是什么?   Python Enhancement Proposals , 它集合了python的改进提案. 它不是版本递进的, 有些PEP是应该去读一 ...

  6. java基础--关键字

  7. “VT-x is not available. (VERR_VMX_NO_VMX)” in VirtualBox

    Sometimes you can get “VT-x is not available. (VERR_VMX_NO_VMX)” error if you are trying to start x6 ...

  8. [深度学习]Wake-Sleep算法

    本文翻译自2007-To recognize shapes, first learn to generate images, Geoffrey Hinton. 第五种策略的设计思想是使得高层的特征提取 ...

  9. c# 启动关闭sql服务

    static void Main(string[] args) { ServiceController sc = new ServiceController("MSSQL$SQLEXPRES ...

  10. promise的学习心得记录

    这里只讲promise,和async的使用方法,不会讲他们的原理. Promise 是异步编程的一种解决方案,可以用于取代传统的回调函数,该变那些函数层层嵌套调用的尴尬局面. 1)promise 基本 ...