题目描述

项目:在 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. Qt 5.8 移植编译、测试

    /****************************************************************************** * Qt 5.8 移植编译.测试 * 说 ...

  2. BZOJ4540 Hnoi2016 序列 【莫队+RMQ+单调栈预处理】*

    BZOJ4540 Hnoi2016 序列 Description 给定长度为n的序列:a1,a2,-,an,记为a[1:n].类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,-,ar- ...

  3. 20179223《Linux内核原理与分析》第四周学习笔记

    补交第三周作业 完成一个简单的时间片轮转多道程序内核 1.使用实验楼的虚拟机打开shell,用cd LinuxKernel/linux-3.9.4进入linux-3.9.4. 2.执行命令qemu - ...

  4. HTTP Client Performance Improvements

    HTTP Client Performance Improvements https://blogs.msdn.microsoft.com/webdev/2018/10/17/asp-net-core ...

  5. Java8新特性——StreamAPI(一)

    1. 流的基本概念 1.1 什么是流? 流是Java8引入的全新概念,它用来处理集合中的数据,暂且可以把它理解为一种高级集合. 众所周知,集合操作非常麻烦,若要对集合进行筛选.投影,需要写大量的代码, ...

  6. 实用且堪称神器的Chrome插件推荐

    前言 相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多强大好用的扩展程序(Extensions).最近为了更好 ...

  7. python: how to delete a given item if it exist in the list

    a.remove('b') if thing in some_list: some_list.remove(thing)

  8. cockroachdb 安装试用(单机伪分布式)

    1. 下载 以下地址,选择对应的操作系统版本即可 https://www.cockroachlabs.com/docs/stable/install-cockroachdb.html 2. 启动 // ...

  9. Python函数 hash()

    hash(object)    hash() 用于获取取一个对象(字符串或者数值等)的哈希值.返回对象的哈希值.  实例: >>>hash('test') # 字符串 2314058 ...

  10. Spring链接汇总

    Spring Boot专题 基础入门内容 SpringBoot快速入门 Why Spring Boot 使用Intellij中的Spring Initializr来快速构建Spring Boot/Cl ...