该库目前提供如下功能模块: 剪切板操作(支持多文件和多目录) 系统文件和目录操作(新建,删除,读取,写入,复制,移动, 重命名,通配符,递归等) 控制台颜色打印 路径操作 对象存储与转换操作 这个库的目标是尽可能的为windows的所有常用操作提供一个对应的可以直达的函数,且兼具灵活、一致、稳定的特点,完美替代难用的 cmd 等工具
这个库还在持续开发中,其功能还远没有达到我设想的那样,整个库的运作模式我早已想好,这个也是做给自己用的,如果你有真正的自己的想法而且对我的这个目标感兴趣也欢迎参与开发。
读取剪切板 clip.paste() 该方法返回一个命名元组, ("text","这是剪切板的文字")
第一个参数有两种可能 text
或者 file
第二个参数表示资源,如果是 text
则第二个参数一定是字符串, 如果是 file
第二个参数一定是一个包含具体文件或目录地址的序列
res_type, res_data = clip.paste()
写入剪切板
clip.copy("要写入的文字") # 这是复制文字到剪切板的一个快捷方式
clip.copy("text","要写入的文字") # 这是复制文字到剪切板的标准方式
clip.copy("file","d:/2.txt") # 这是复制一个文件或者目录到剪切板的标准方式
clip.copy("file","d:/2.txt","d:/3.txt","d:/abc") # 这是复制多个文件或目录到剪切板的快捷方式
clip.copy("file",["d:/1.txt","d:/abc"]) # 这是复制多个文件或目录到剪切板的标准方式
新建文件或者目录:
-
单文件或目录
new("1.txt")
new("abc")
支持递归创建new("abc/ddd/eee")
如果中间的 abc ddd 不存在会直接创建, 可以通过一些参数关闭递归创建功能 -
创建并写入文字
new("1.txt","一段文字")
-
创建多文件或目录
news("1.txt","2.txt") # 创建并且向某些文件写入一些内容 news("1.txt",("2.txt","写入一些内容"),"3.txt")
删除文件或者目录:
remove("1.txt","abc")
支持 glob参数,这个参数非常有用,是整个库的精髓,
remove(“abc”,glob=“**/a*”)
表示删除abc文件夹和所有后代文件夹中以a开头的文件或者文件夹
所有支持 glob 参数的函数都是支持通配符的函数,通配符的解释如下:
模式 | 含意 |
---|---|
* |
匹配所有 |
? |
匹配任何单个字符 |
[seq] |
匹配 seq 中的任何字符 |
[!seq] |
匹配任何不在 seq 中的字符 |
** | 表示 "此目录以及所有子目录,递归" |
一个实际的场景: 微信接受的文件都分散在以日期命名的文件夹内部,如果我想将所有使用微信接收到的简历提取处理直接放到某个文件夹只需要一个函数即可:
copy(".","放简历的文件夹",glob="**/*简历*")