精华内容
下载资源
问答
  • redis 可视化工具以及免安装redis 绿色版

    千次下载 热门讨论 2017-01-14 20:13:57
    redis 可视化工具以及免安装redis,redis 可视化工具以及免安装redis,redis 可视化工具以及免安装redis
  • 说明:该篇博客是博主一字一码编写的,实属...自动化工具能自动打开程序、自动执行测试用例、自动查找控件、自动产生数据、自动输入数据、自动操作控件、自动收集结果、自动比较实际结果与预期结果是否一致。 2.软...

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

    一、理解软件测试自动化

    1.自动化测试的含义

    • 自动测试就是用程序代替人的手工操作,完成一系列测试的过程。
      √     自动化工具能自动打开程序、自动执行测试用例、自动查找控件、自动产生数据、自动输入数据、自动操作控件、自动收集结果、自动比较实际结果与预期结果是否一致。

    2.软件测试为什么要自动化?

    在这里插入图片描述

    • 软件测试是一项工作量巨大的工作;

    • 软件测试包含大量的重复性操作;

    • 软件测试的某些环节包含一些非智力创造性活动;

    • 很多情况下手工测试难以模拟真实的环境;

    • 手工测试无法提供精确的测试结果。

    3.自动化测试的优点

    • 自动化测试可重复执行,能执行更多、更频繁的测试。

    • 能执行一些手动测试比较困难或不可能进行的测试。

    • 能更好地利用资源,可利用晚上或周末空闲的设备执行自动化测试。

    • 自动化让测试人员腾出时间和精力,测试人员可以投入更多的精力设计出更多、更好的测试用例,从而提高测试准确性和测试人员的积极性。

    • 自动测试具有一致性的特点,能够保证测试更客观,从而提高了软件的信任度。

    4.自动化测试的缺点

    • 不能完全代替人工测试,不是所有的测试用例都可以自动化,工具本身不具备思维能力。
      √     设计用例。
      √     界面和用户体验测试。
      √     正确性检查。

    • 不能保证 100%的测试覆盖率。

    • 需要更长的时间去分析和隔离所发现的缺陷。

    • 自动化测试对软件质量依赖性较大。

    • 如果测试人员不熟悉某些测试工具,测试工作的进度就有可能受到影响。

    • 不能立即降低测试投入,提高测试效率。自动化测试的成本问题可能高于人工测试,因为工具的购买及维护的开支很大。

    5.自动化测试应用场合

    在这里插入图片描述

    6.不正确的自动化测试期望

    • 有了工具,一切测试过程都变得自动了。
      √     如果项目中使用了很多第三方控件或自定义控件,而这些控件的可测性很差,这种测试则不适合自动化。

    • 有了工具,测试工作马上就减轻了。
      √     购买测试工具后,还需要编写和维护测试脚本,这些费时、费力;
      √     可以在界面雏形时期,检查界面中的控件是否可测,从而选择合适的工具。

    • 自动测试工具都是简单易用的。
      √     功能越完备操作通常越复杂,要求使用者掌握更多的技能。

    • 自动化测试尽早执行。
      √     自动化测试需要过早计划但不宜过早执行;自动化测试需要循序渐进进行。

    二、常用的自动测试工具及分类

    1.商业测试工具

    • 需要购买,价格昂贵。

    • 成熟、稳定、有售后服务和技术支持。

    • 适宜 GUI 功能和性能测试。

    • HP
      √     QuickTest Professional/UFT(Unified Funtional Testing):功能测试工具。
      √     LoadRunner:性能测试工具。
      √     Quality Center/Application Lifecycle Management:测试管理工具。

    • IBM Rational
      √     Robot:功能和性能测试工具。
             ✰     支持 HTML、Java、.Net、Visual Basic、PowerBuilder、Delphi、Oracle 表单和 MFC 控件。
      √     ClearCase:软件配置管理工具。
      √     ClearQuest:缺陷和变更跟踪工具。
      √     TestManager:测试管理工具。

    • Compuware QACenter
      √     QARun:功能测试工具。
      √     QALoad:性能测试工具。
      √     QADirector:测试管理工具。

    • Microsoft
      √     Web Application Stress:性能测试工具。

    2.开源测试软件

    • 志愿者开发和维护,未必完全免费。

    • Selenium
      √     最早由 Thoughtworks(思特沃克)的员工 Jason Huggins 编写,后来多人加入。
      √     功能和兼容性自动化测试工具。

    • Jmeter
      √     Apache 组织开发。
      √     性能和接口自动化测试工具。

    三、自动化测试工具的选择

    • 选择测试工具的指导原则
      √     一般不是在项目初期完成工具选择,往往是在开发工具确定很长时间以后才能完成,甚至是项目后期才明确。
      √     选择适合自己公司项目的产品,只买对的,不买贵的。
             ✰     不要轻信测试销售人员的介绍就轻易购买,一定要组织详细的试用,确认适合项目使用,才能购买。
      √     分阶段、逐步引入测试工具。
      √     选择技术支持完善的产品。
      √     尽量选择主流的测试工具。
      √     如需多种工具,尽量选择一个公司的产品。
      √     考虑测试工具的集成能力(操作系统、开发工具、其他测试工具)。需要考虑:与开发语言一致的测试脚本语言,还要注意第三方控件与脚本语言能否匹配。
             ✰     测试工具未必支持所有的控件
                     ▲     可能会出现不识别的问题,不能花太多时间去研究为什么不识别,应该先用最简单的方法解决,使自动化测试得以进行是最重要的。
                     ▲     遇到不能识别控件的问题时,可以向开发寻求帮助,让开发提供对软件的编程接口,更换一个同等效果的工具等。
      √     测试用例的自动化应该注意顺序
             ✰     先自动化简单的、主要功能的用例,然后向次要功能等扩展。
    展开全文
  • sql语句格式化工具(绿色版)

    千次下载 热门讨论 2014-04-03 11:35:01
    有时候在项目中需要将sql语句格式一下,这样sql语句会更有层次。阅读也会更好一些。这个工具就能帮到你。
  • zookeeper可视化工具

    万次阅读 2019-05-31 21:46:45
    最近项目中使用了分布式定时任务,Elastic Job,这个里面用了Zookeeper,进而网上找了个Zookeeper图形化工具。 下载:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip 运行: 解压缩后...

    最近项目中使用了分布式定时任务,Elastic Job,这个里面用了Zookeeper,进而网上找了个Zookeeper图形化工具。

    下载:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip 
    运行: 解压缩后点击ZooInspector\build\zookeeper-dev-ZooInspector.jar后会出现以下界面!

    在dos窗口中输入java -jar zookeeper-dev-ZooInspector.jar或者双击,会弹出一个GUI窗口如下:

    连接ZK     点击左上角的绿色按钮,输入ZK Server的地址和端口

     连接成功后就能看到ZK的节点数据信息. 

     

    展开全文
  • 个人觉得这个工具比任何自动测试框架都好使,使用关键字和数据双驱动,不需要写一行代码,无需维护脚本,只需要维护用例数据。Web元素只需要在Chrome中复制xPath即可,定位非常高效。 工具安全无木马,目的只为...
  • 常用自动测试工具

    万次阅读 多人点赞 2019-03-04 15:19:20
    Appium 是一个移动端自动测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台,Appium 是一个C/S 架构,核心是一个 Web 服务器,它提供...

     

    1、Appium

    官网:http://appium.io

    AppUI自动化测试

         Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台,Appium 是一个C/S 架构,核心是一个 Web 服务器,它提供了一套 REST 的接口。当收到客户端的连接后,就会监听到命令,然后在移动设备上执行这些命令,最后将执行结果放在 HTTP 响应中返还给客户端。

    License:免费

     

    2、Selenium

    官网:https://www.seleniumhq.org/download/

    WebUI自动化测试

    Selenium是一个用于Web应用程序测试的工具,Selenium已经成为Web自动化测试工程师的首选。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。其升级版本为Webdriver。

    License:免费

     

    3、Postman

    官网:https://www.getpostman.com

    接口测试

         Postman 提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers。不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的 Post Cloud 用户还能够创建自己的 Team Library 用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队。

    License:免费

     

    4、Soapui

    官网:https://www.soapui.org

    接口测试

    SoapUI提供了所有所需的工具来测试和完善的测试。总览标签给你一个项目的所有内容和全面的看法。只需一次点击,您可以添加任何数量的断言为验证传入的消息TestStep。使用功能强大的HTTP监视器记录,分析甚至修改客户机 - 服务器通信,因为它发生。和SoapUI临带来了更专业和先进的功能,保持遥遥领先其他测试工具。轻松创建和运行数据驱动测试。该数据源TestStep读取测试数据从任何外部来源 - Excel中,XML,JDBC,文件,等等 - 到标准SoapUI属性。

    License:免费

     

    5、Robot Framework

    官网:http://robotframework.org   

    WebUI自动化测试,接口测试,APP测试

          Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发。

    Robot framework为不同的自动化测试需求提供了不同的框架。它的测试能力可以通过 Python 和 Java 测试库得到扩展。Selenium WebDriver 是 Robot Framework 中内置的流行库。

    Robot Framework 不仅仅是网页测试工具,同样可以用来做 Android 和 iOS 的自动化测试。对于关键字测试驱动熟悉的测试员可以轻松上手 Robot Framework。

    License:免费    

     

    6、QTP

    官网:https://software.microfocus.com/en-us/products/unified-functional-automated-testing/overview

    WebUI自动化测试,接口测试,APP测试

         HP QuickTest Professional 提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念以简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。目前版本名为Unified Functional Testing,简称UFT。可以测试非常多的应用,比如接口API,Web services,桌面程序,Web系统,手机APP。

    License:商业

     

    7、Jmeter

    官网:https://jmeter.apache.org

    接口测试,性能测试

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现;

    JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

    使用Jmeter做接口测试需要注意一点,小心使用“用户定义变量”,Jmeter组件有优先级的,如果多个线程同时执行的时候,“用户定义变量”组件定义的变量可能会乱套。

    License:免费

     

    8、Loadrunner

    官网:https://software.microfocus.com/en-us/products/loadrunner-load-testing/overview

    性能测试

    LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

    License:商业

     

    9、Monkey

    App稳定性测试

         软件附带在sdk中,适用于android和ios,通过adb shell,生成用户或系统的伪随机事件,压力测试结果:崩溃crash,无响应anr。

    License:免费

     

    10、GT

    官网:http://gt.qq.com/index.html

    App性能测试

         GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment)。利用GT,仅凭一部手机,无需连接电脑,您即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。

    License:免费

     

    11、Appscan

    官网:https://www.ibm.com/developerworks/downloads/r/appscan/

    安全测试

    IBM Security AppScan 是一个适合安全专家的 Web 应用程序和 Web 服务渗透测试解决方案,对现代 Web 应用程序和服务执行自动化的动态应用程序安全测试 (DAST) 和交互式应用程序安全测试 (IAST),支持 Web 2.0、JavaScript 和 AJAX 框架的全面的 JavaScript 执行引擎,涵盖 XML 和 JSON 基础架构的 SOAP 和 REST Web 服务测试支持 WS-Security 标准、XML 加密和 XML 签名,详细的漏洞公告和修复建议。

    License:免费

     

    12、Jenkins

    官网:https://jenkins.io

    持续集成

    自动化构建 编译,部署,任务执行,测试报告,邮件通知等。

    License:免费

    展开全文
  • Python 编写自动化工具

    万次阅读 多人点赞 2017-08-29 00:41:44
    但是假如我们要做跨平台的开发,根据每个平台开发一套功能相同的自动脚本显然不是最好的选择,选择跨平台通用的脚本是更好的选择,Python 就是常用来编写自动化工具的跨平台脚本语言。Python 环境安装:1.资源...

    引言:

    在开发过程中,我们经常需要编写一些自动化的工具,例如:

    • Windows 下的 BATCH (批处理)
    • Linux 下的 Shell

    但是假如我们要做跨平台的开发,根据每个平台去开发一套功能相同的自动化脚本显然不是最好的选择,选择跨平台通用的脚本是更好的选择,Python 就是常用来编写自动化工具的跨平台脚本语言。

    Python 环境安装:

    1.资源下载:

    直接到 Python 官网 下载安装包,有两个分支:2.x 和 3.x,两者有着巨大的差别,当然现在比较流行的还是 2.7.x 系列,这里我直接下载此系列的最新版本:python-2.7.13.msi

    2.安装步骤:

    过程十分简单,双击打开安装包,一直 Next 直到安装完成,记得要记录一下其安装目录,后面配置系统环境时要用到。

    3.环境配置:

    打开 计算机 -> 属性 -> 高级系统设置 -> 环境变量... ,然后再 系统变量 中新建一项,设置参数如下:

    变量名:PYTHON_HOME
    变量值:D:\Develope\Python2.7
    

    然后编辑系统变量中的 Path 变量的参数,在变量值最后加上 ;%PYTHON_HOME%;,然后保存编辑内容。然后,打开命令行窗口查询是否配置成功:

    C:\Users\hasee-pc>python --version
    Python 2.7.13
    

    以上说明环境变量的配置已完成。

    4.运行 Python:

    运行 Python 代码块的方式有两种,一种是直接在命令行窗口输入 Python 指令进入交互式编程窗口,然后直接输入代码,键盘 Enter 执行结果,如下:

    C:\Users\hasee-pc>python
    Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (
    Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> print "hi,linsh"
    hi,linsh
    

    也可以创建一个 .py 脚本,编辑好脚本内容,例如:

    # test.py
    print "hi,linsh"
    

    然后,在命令行定位到脚本所在目录,执行该脚本,以下两种执行方式都可以:

    D:\Develope\PythonProjects>python test.py
    hi,linsh
    D:\Develope\PythonProjects>test.py
    hi,linsh
    

    # 号用于注释单行,多行注释通常使用三引号 '''""" 开始和结束。


    Python 基础语法:

    这里不会赘述太多细节性的语法,只简述一些必要的基础语法,更详细的可以参考 【 Python 语言参考 】:

    1.特殊标识符:

    • 跟其他编程语言一样,Python 中所有标识符可以包含:英文、数字以及下划线(_),但不能以数字开头;
    • 以下划线开头的表示特殊含义:
      • 单下划线 _ 开头表示不能直接被外部类直接访问的类属性,,需要通过类提供的接口才能进行访问,例如:_foo
      • 双下划线 __ 开头表示类的私有成员,就像很多语言中的 private 权限关键字的作用,例如:__foo
      • 以双下划线开头和结尾代表 Python 中特殊方法专用的标识,例如 __init__() 代表类的构造函数。

    2.缩进和代码块:

    Python 与其他语言最大的不同,在于它不使用 {} 或者像 Lua 那样的关键字来包裹一个代码块以管理类、函数或逻辑判断,而是直接通过 缩进 来管理模块。

    缩进的空白 数量(键盘空格键次数)是可变的,但是所有代码块语句必须包含相同的缩进空白数量。例如:

    if True:
        print "True"
    else:
      	print "False"
    

    通常将编程工具的一次 Tab 键的距离设为 4 个空格 距离,作为一级缩进的空白数。

    3.数据类型和变量:

    Python 有 5 种标准的数据类型:

    Numbers(数字)
    String(字符串)
    List(列表)
    Tuple(元组)
    Dictionary(字典)
    

    但是,在定义变量时,不需要声明变量的类型,变量在使用前需要先进行赋值,此时解释器才能根据赋值的类型为此变量分配创建内存空间并创建此变量,只是声明但不赋值的变量是不能使用的。例如:

    number = 2	    # 整型
    percent = 100.0	# 浮点型
    name = "linsh"	# 字符串
    

    此外,还可以同时对多个变量进行赋值:

    number,percent,name = 2,100.0,"linsh"
    

    4.函数:

    函数的使用一方面是为了提高代码的重用性,另一方面又可以增强代码的可读性和模块化,下面是 Python 定义函数的格式:

    def funcName(param1,param2,...):
    	...
    

    以关键字 def 来声明一个函数,紧跟着是函数名(函数标识符),然后是 () 包围起来的传入参数表,可以是 0 个参数,也可以是多个参数,然后用 : 号开始函数内容的开始。例如:

    # test.py
    # # -*- coding: utf-8 -*-
    
    # 方法定义
    def TestFunc1():
    	print "test1"
    
    def TestFunc2(num):
      	print "test2: num = ",num #str 和 int 类型拼接
        
    # 方法调用
    TestFunc1()
    TestFunc2(66)
    

    执行结果:

    D:\Develope\PythonProjects>test.py
    test1
    test2: num =  66
    

    编写工具:

    1.设计目标:

    首先说一下我要工具的功能:

    遍历某个目录下包括其下子目录中所有指定的后缀文件,然后为这些文件的头部插入指定的字符串。

    2.使用场景:

    设计这样的工具起因是我最近在将之前 CSDN 中的博客搬运到自己的 Hexo 博客空间上,了解的应该知道,假如都是 Markdown 编写的话,搬运的时候只需要在文件头部加上如下的一串额外的内容:

    ---
    title: 博客标题
    date: 博客创建时间(例如:2016-09-03 17:15:22)
    tags: 标签(如:[Hexo,Next],多个的话用,号隔开)
    categories: 分类(如:Web)
    ---
    
    • 标题 title 直接使用文件名称去掉 .md 后缀即可;
    • 时间 date 需要通过文件库获取文件的创建时间;
    • 标签 tags 和分类 categories ,由于我的文件会根据分类放入不同的子目录下,所以直接获取当前文件所在目录的名称即可。

    此外,为了在博客首页只展示部分内容,而不是展开博客的完整内容,还需要在博客中恰当的位置插入这个标签:<!--more--> ,通常加载第一段内容结束的位置。

    3.实现代码:

    根据上面的思路,我们在 source/_posts 目录下创建一个工具脚本,起名为 SuitFileToHexo.py ,然后依次完成以下步骤:

    • 指定 Linux 环境下 Python 解释器目录,并指定编码方式:

      #!/usr/bin/env python
      # -*- coding: utf-8 -*-
      
    • 引入的模块:

      在脚本开始的地方,最先需要做的事情就是把需要用到的模块都先引入进来,大致分析一下我们这个功能需要用到的模块:

      import os.path,time
      
    • 遍历当前目录下所有 .md 文件列表:

      这就需要使用到 Python 的文件目录操作模块 os.path ,使用 os.listdir 获取目录列表,然后通过 os.path.splitext 分割文件名称和后缀名,从而筛选合格的文件:

      # 获取指定目录指定后缀名的文件列表
      def getFileList(path,endStr):
      	'''获取指定目录下,指定后缀的文件列表'''
      	r_list = []
      	f_list = os.listdir(path)	#获取目录列表
      	for i in f_list:
      		# 分离文件名和后缀名,过滤掉工具脚本
      		file_endStr = os.path.splitext(i)[1]
      		# 判断是否是目录
      		if os.path.isdir(i):
      			f_list1 = os.listdir(path+'/'+i)
      			for j in f_list1:
      				# 过滤出指定后缀 endStr 后缀的文件
      				if os.path.splitext(j)[1] == endStr:
      					# 为了清晰目录把文件所在目录也标识出来
      					r_list.append(i+'/'+j)
      					# print j.decode("string_escape")
      		elif file_endStr == endStr:
      			r_list.append(i)
      	return r_list
      

    这里发现了一个问题,就是在 os.path.isdir(i) 在 2.7.11 的版本莫名其妙地返回 false,需要做如下修改才能正常:

     if file_endStr == '':
         i = os.path.join(path, i)   #=================〉这一行很必要
    	 # print i
    	 # 判断是否是目录
    	 if os.path.isdir(i):
    	     ...
    
    • 获取文件的创建时间:

      需要使用到 os.time 模块的功能:

      # 获取文件创建时间
      def get_FileCreateTime(filePath):
      	  t = os.path.getctime(filePath)
      	  return TimeStampToTime(t)
      
      # 把时间戳转化为时间: 1479264792 to 2016-11-16 10:53:12'''
      def TimeStampToTime(timestamp):
      	  timeStruct = time.localtime(timestamp)
      	  return time.strftime('%Y-%m-%d %H:%M:%S',timeStruct)
      
    • 获取博客标题:

      其实就是从目录字符串中截掉后缀名,再截掉最后一个 / 之前的内容即可得到博客名称:

      # 获取目录中去掉前面路径和后缀的文件名字
      def getFileSimpleName(filePath):
          name = ''
          # 先去掉后缀
      	  name = os.path.splitext(filePath)[0]
      	  # 获取最后一个斜杠位置
      	  index = name.rfind('/')
      	  # 找不到则返回 -1
      	  if index != -1:
      	  # 截取斜杠后面到结尾内容
      	  name = name[index+1:]
      	  # print name
      	  return name
      
    • 获取文件所在的目录名称作为页签值:

      与获取博客名称思路略有相似,获取最后一个斜杠位置,截掉斜杠之后的内容,在获取一个最后一个斜杠位置,假如有则截取斜杠之后的内容即是文件所在目录的名称:

      # 获得分类文件目录名称
      def getTypeNameByPath(filePath):
      	fileTag = ''
      	# 获取最后一个斜杠位置
      	index = filePath.rfind('/')
      	# 找不到则返回 -1
      	if index != -1:
      		# 截取斜杠后面到结尾内容
      		fileTag = filePath[:index]
      		# 截掉前面部分
      		index = fileTag.rfind('/')
      		if index != -1:
      			fileTag = fileTag[index+1:]
      	# print fileTag
      	return fileTag
      
    • 向文件中插入内容:

      调用以上方法即可分别得到我们想要的信息:

      # 指定目录
      path = './'
      # 得到文件列表
      files = getFileList(path,'.md')	
      for i in files:
          print 'title: '+getFileSimpleName((i.decode("string_escape")))
          print 'date: '+get_FileCreateTime((path+i.decode("string_escape")))
          print 'tags: ['+getTypeNameByPath((i.decode("string_escape")))+']'
      

      接下来要做的就是把这些内容按照格式插入到文件中去,当然插入之前需要先检查文件中是否已经插入过类似的内容了,可以简单地通过检查开头 40 个字符串中是否包含这个字符串来判别:

    ‘’’—
    title: ‘’’

    
    关于展示分隔符 ``<!--more-->`` 插入的位置,大致逻辑是:第一个标题后面,而且刚好插入在第二个标题之前即可,而使用 Markdown 语法撰写的博客标题使用 ``#`` 来表示的,最终的插入方法如下:
    
    ```python
    # 向文件中插入指定数据
    def addHeadToFile(filePath,title,date,tags):
    	file = open(filePath,"r")
    	content = file.read()
    	index = content[:40].find('''---
    title:''')
    	# 添加
    	if index == -1:
    		print 'Undadded'
    		addContent = '''---
    title: '''+title+'''
    date: '''+date+'''
    tags: ['''+tags+''']
    categories: '''+tags+'''
    ---
    '''
    		# 检测是否插入部分显示标签
    		content = addContent + content
    		index = content.find('''<!--more--> ''')
    		if index == -1:
    			# 获取第一段的位置
    			index = content.find('''### ''')
    			if index != -1:
    				#print "first ### pos = ",index
    				# 下一个标题位置(在第二个标题之前插入即可)
    				pos = content[index:].find('''
    
    #''',1)
    				if pos != -1:
    					index += pos
    					#print "second enter pos = ",index
    					content = content[:index]+'''
    <!--more-->
    '''+content[index:]
    		file = open(filePath,"w")
    		file.write(content)
    	else:
    		#print 'file head had added'
    	# 记得要关闭文件
    	file.close()
    

    最后完整的调用过程:

    # 指定目录
    path = './'
    # 得到文件列表
    files = getFileList(path,'.md')	
    # 声明一些全局变量
    title = ''
    date = ''
    tags = ''
    for i in files:
        	title = getFileSimpleName(i.decode("string_escape"))
        	date = get_FileCreateTime(path+i.decode("string_escape"))
        	tags = getTypeNameByPath(i.decode("string_escape"))
        	print 'title: '+title
        	print 'date: '+date
        	print 'tags: ['+tags+']'
        	addHeadToFile(path+i.decode("string_escape"),title,date,tags)
    

    其他:

    如果你跟我一样出现了打印中文文件名变成诸如: “BATCH\xc5\xfa\xb4\xa6\xc0\xed\xbc\xf2\xbc\xc7.md” 这种格式的话,可以参考:Linux 下Python2.7解决list打印中文字符问题


    参考资料:


    微信公众号「何乐不为呢」,一个码农的技术笔记和唠叨。

    展开全文
  • Oracle可视管理工具

    热门讨论 2009-03-23 00:06:35
    一个相当不错的可视管理工具,能直接对数据库进行操作,操作相当简单
  • xml,json,html格式化工具

    千次下载 热门讨论 2012-03-25 13:58:48
    xml,json,html格式化工具
  • 越来越多企业已经开始落地自动运维,在真正把步子迈出去的时候,发现自动运维原来并不是一件复杂的工程,很多企业其实早就开始建设了。  说到这里,就要从运维的本原探讨。我们这里把运维的词义进行狭义的...
  • json数据格式(editplus 格式 Json 工具 )

    千次下载 热门讨论 2012-03-22 23:00:53
    json数据格式(editplus 格式 Json 工具 )
  • Redis可视客户端工具

    千次阅读 2019-05-14 08:27:17
    Redis也有相应的可视客户端工具RedisDesktopManager,类似mysql的Navicat Premium这些, 下载地址:https://redisdesktop.com/download 如图:
  • redis 图形化工具

    万次阅读 2018-07-04 16:37:51
    一: RedisStudio工具 下载路径 : https://github.com/cinience/RedisStudio/releases 下载下来后运行即可 二:treeNMS 一款用JAVA语言开发的Redis管理及监控工具treeNMS。 下面我就详细给大家介绍一下...
  • sqlite 免费的可视化工具

    千次阅读 2020-07-01 14:06:45
    1.sqliteStudio 介绍:开源,支持多平台 下载:https://github.com/pawelsalawa/sqlitestudio/releases 官网:https://sqlitestudio.pl/ 2.DB Browser 介绍:开源,支持多平台 ...3.SQLPro 介绍:开源,只支持mac OS ...4.
  • Web自动测试工具选择

    千次阅读 2019-09-23 10:13:29
    1. 了解Web自动测试常用工具 2. 熟悉Selenium的特点 1. 主流的Web自动测试工具 1. QTP QTP是一个商业的功能测试工具,收费,支持web,桌面自动测试。 2. Selenium(本阶段学习) Selenium是一个开源的...
  • 2021 几款常用 Redis 可视化工具

    万次阅读 2021-03-22 00:12:22
    8.Red 这是一款在苹果app store下载的redis可视化工具,免费链接: Mac用户可以app store里面搜 评测: 只支持Mac端,颜值还是不错的。功能中规中矩。基本功能都有,支持key命名空间的展示。 9.Redis Insight 这...
  • sqlite可视化工具

    热门讨论 2016-03-09 20:20:32
    sqlite数据库可视化工具,包含破解包,支持32位,64位
  • 内存卡低级格式化工具

    热门讨论 2010-04-07 17:21:42
    内存卡低级格式化工具 内存卡低级格式化工具 内存卡低级格式化工具 内存卡低级格式化工具
  • 使用curl等客户端工具即可通过Restful API对Elasticsearch进行操作,但也有一些客户端工具提供对于ElasticSearch更加友好的可视操作支持,比如elasticsearch-head。这篇文章介绍一下如何使用elasticsearch-head对...
  • Redis 可视界面工具

    万次阅读 2018-03-29 18:02:09
    现在比较出名的跨平台可视界面有两款,web上的就比较多,但功能不是很强大,没有native版本的强大。 RedisDesktop 官网地扯: 传送门 源码方式安装 git clone --recursive ...
  • MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形管理工具,这里我介绍几个经常使用的MySQL图形管理工具,供大家参考。 MySQL是一个非常流行的小型关系型数据库管理系统,...
  • sql语句格式化工具

    千次阅读 2014-04-03 11:38:29
    跟大家分享一个绿色版的sql语句格式化工具。有时候阅读sql语句时希望能有个工具像Eclipse格式Java代码一样。这样阅读起来会更方便。下面是在网上找到的一个格式sql的工具,挺好用。是绿色版!(免积分) 下面是...
  • Impala 可视化工具datagrip

    千次阅读 2019-04-10 12:55:18
    impala 官方提供了JDBC驱动,理论上可以识别jdbc驱动的客户端工具都可以连接到impala数据库。 当然hive一样的,Datagrip 自2019.1版本已经官方支持了Hive数据库。 其他可选的客户端有: oracle 的sql developer ...
  • U盘低级格式化工具 U盘低级格式化工具U盘低级格式化工具
  • 今天我给大家介绍一款国人开源、免费、功能强大的 Redis 可视管理工具:QuickRedis。 QuickRedis 简介 QuickRedis 是一款 永久免费 的 Redis 可视管理工具。它支持直连、哨兵、集群模式,支持亿万数量级的 key,...
  • JSON格式化工具下载

    万次阅读 多人点赞 2017-12-20 20:37:38
    JSON格式化工具分享,web开发中要看JSON的时候经常不方便,特意找了一些格式化工具,放到了我的网盘上 一、Windows下格式json的工具: 1.JsonView 下载地址:https://pan.baidu.com/s/1pLJumGb 2.HiJson 下载...
  • 最新自动测试工具QTP 12

    千次下载 热门讨论 2014-04-21 14:08:52
    如果你的操作系统为非英语系统,那么你无须下载语言包,工具会自动根据你的系统来判断所需安装的语言。 自动上传测试结果到ALM 在最新的UFT 12中,自动测试工程师可以自动上传测试结果到ALM中。 Mac下的Safari...
  • memcached可视客户端工具

    千次阅读 2018-03-21 12:00:42
    TreeNMS是一款redis,Memcache可视客户端工具,采用JAVA开发,实现基于WEB方式对Redis, Memcached数据库进行管理、维护。 功能包括:NoSQL数据库的展示,库表的展示,key,value的展示,新增,修改,删除等数据的...
  • 推荐30款最佳的数据可视化工具

    万次阅读 2017-12-20 15:50:46
    推荐30款最佳的数据可视化工具 发表于2014-04-02 13:28| 64049次阅读| 来源CSDN| 0 条评论| 作者张红月 开源可视化工具iChartsFusionCharts XTModest MapsRaw 摘要:大量繁杂的数据在经过...
  • 知识图谱可视化工具选型

    千次阅读 2020-03-16 23:00:24
    本人作为大一狗,有幸参加了老师的工业大数据知识图谱可视研究的项目,那么,选择一个好用的可视化工具当然是必要的——一个好的工具能够大大降低后期研发成本和维护成本。 选型原则 根据本次调研的需要,可视...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,724,650
精华内容 1,089,860
关键字:

去工具化