An open API service indexing awesome lists of open source software.

https://github.com/shthemw/list-format-updater

列表类型数据专用更新工具
https://github.com/shthemw/list-format-updater

Last synced: over 1 year ago
JSON representation

列表类型数据专用更新工具

Awesome Lists containing this project

README

          

# List Format Updater Document
List Format Updater (LsFU)能够对剪贴板内的列表进行批量格式化处理:

[1, 10, 2, 30] [1, 10, 2, 30]
[1, 11, 2, 32] => 令范围(2, 3)内的[第2个元素 + 10], [第4个元素 + 1] => [1, 21*, 2, 33*]
[1, 12, 2, 34] [1, 32*, 2, 35*]

所有数值操作均在剪贴板上进行, 因此最大程度的保护了原始数据的安全性.
程序具有一定的错误处理功能, 但时间所限可能并不完善..
请勿调戏未成年代码!

## 环境:
- Python 3.8及以上
- 需要的库: colorama, pyperclip
> 在Windows-cmd中使用以下命令安装:

pip install colorama
pip install pyperclip

## 快速开始:

- 直接clone项目到本地.
- 运行`startup.bat`. 若出现闪退, 请检查环境是否配置正确

LsFU是命令交互式的程序, 你将依次看到以下命令:

### input command:
程序进入时的界面. 可输入以下命令:

- `get`: 识别剪贴板上的列表并打印. 进入程序的下一步.
- `exit`: 退出程序

注意:
- 程序能识别的列表格式为`[,,,]`, 行与行间用换行符分割.

### input scope:
输入希望修改的行的范围. 范围索引将在上一步打印时显示.
> 如: 希望修改第21-41行的数据, 可输入:

21 41

此外, 支持首尾匹配字符`-`.
> 如: 希望修改第61行到最后一行的数据, 可输入:

61 -

> 希望修改首行到第21行的数据, 可输入:

- 21

### input index:
输入每行中希望修改的索引(索引从1开始). 支持多个索引, 用空格分隔.
> 如:

2 4 6

> 表示匹配`[1, 10, 2, 20, 3, 30]`中的`10 20 30`字段.

注意:
- 如果输入的索引在当前行不存在, 则会新建该索引, 值为下一步中输入的值.

### input changes on XXX:

输入对于当前的每个索引, 你希望改变的值.
> 如, 假设上一步中选择的值是

10 20 30

> 此时, 输入

50 10 30

> 表示对所选择的三个索引对应的值分别+50, +10, +30,
> 最终会得到:

60 30 60

注意:
- 如果所选的索引不存在, 则会分别新建值为50 10 30的新索引.
- 这一步的输入数量必须和上一步的索引数量匹配.

特别地, 若输入-1, 则表示删除对应的索引.
> 如, 输入

50 10 -1

> 最终会得到:

60 30

注意:
- 程序支持负数, 表示减去对应的值. 但-1是特别的, 表示删除这个索引.

### process:

现在, 程序将开始对每个所选择的索引进行批量操作. 每处理一个索引, 程序将会打印一次state, 并高亮显示本次修改后的索引.

### apply:

处理完成后, 程序会询问是否应用这次修改.
检查无误后, 输入`y`, 程序即用处理后的数据覆盖到剪贴板中. 此时可将剪贴板内的数据粘贴到excel, 或其它文件中. 所有的列表格式字符(如[] ,)等都会保留.