当前位置: 首页 > news >正文

Github目录生成器 - Python小工具

简述

写这个工具主要目的在于减少工作量,Bear在写GitBook的时候,发现对应目录一个一个写进去,非常繁琐,而且最近在学习Python,所以,手痒之下写了一个目录生成的小工具。

工具使用

本身工具并不复杂,主要实现功能接受一个Github中的raw版本的Url,然后打印自动生成对应文件的MarkDown语法的目录。

  • 第一步
    点击对应Github中目标文件raw的按钮。
    721531-20171007220900740-1213049558.png

  • 第二步
    获取原始的MarkDown文件,复制对应url。
    721531-20171007212847365-1351186111.png

  • 第三步
    获取工具,同第一步,可以使用wget工具从Github上获取源代码。
    721531-20171007213253411-1669994089.png

  • 第四步
    运行。(具体操作,也可以看代码注释说明)
    721531-20171007213454458-373860811.png

模块设计

本身工具比较简单,主要涉及的功能是:

  1. 利用Http协议从url中获取Github文件;
    通过Python提供的urllib2库,可以直接获取Github上的文件。
  2. 从文件中提取目录信息。
    根据MarkDown语法,目录是带“#”,目录内容空格间隔。
    ps:其中,较为繁琐的是,目录中如果出现“!@#$”等字符,Github有特定的转换语法(bear是一个个试出来的,函数valueToUrl),此外,还有相同目录内容的情况,也会有处理(函数 getSameContentNum)。
  3. 将目录信息转化为最终目录的语法。
    同样也是根据MarkDown语法。

结束语

由于第一次写工具,如有不当的地方,或者程序有bug,请指出,不胜感激。

转载于:https://www.cnblogs.com/zhengruin/p/7635967.html

相关文章:

  • Bean的作用域
  • appium+Python真机运行测试demo的方法
  • Python expandtabs() 方法
  • js中常见的一些兼容性问题
  • Codeforces Round #367 (Div. 2) (A,B,C,D,E)
  • c#中winform窗口的隐藏与显示
  • luogu P1037 产生数
  • [NOIP2014普及组]子矩阵
  • python中的数据结构
  • 结对编程——四则运算界面化
  • [No000010F]Git8/9-使用GitHub
  • 微信
  • Android连接热点的Socket文件传输
  • JS中的函数知识点
  • 上传第三方jar包至maven私服,以geotools为例
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 2017-08-04 前端日报
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • ES2017异步函数现已正式可用
  • ES6简单总结(搭配简单的讲解和小案例)
  • Facebook AccountKit 接入的坑点
  • Git同步原始仓库到Fork仓库中
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • java取消线程实例
  • js继承的实现方法
  • Laravel5.4 Queues队列学习
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • mysql外键的使用
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • 基于axios的vue插件,让http请求更简单
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 强力优化Rancher k8s中国区的使用体验
  • 人脸识别最新开发经验demo
  • 如何选择开源的机器学习框架?
  • 深入 Nginx 之配置篇
  • 算法-图和图算法
  • 用element的upload组件实现多图片上传和压缩
  • (C#)一个最简单的链表类
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (差分)胡桃爱原石
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (图)IntelliTrace Tools 跟踪云端程序
  • (新)网络工程师考点串讲与真题详解
  • (一)基于IDEA的JAVA基础10
  • (转)程序员技术练级攻略
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .gitignore文件设置了忽略但不生效
  • .net Signalr 使用笔记
  • .NET Standard 的管理策略
  • .NET 反射 Reflect
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)