精华内容
下载资源
问答
  • 学习python时经常需要在Mac终端下实时运行python,习惯了PyCharm自动补全,在终端上python一个个字母敲很是折磨,如是找到了一个自动补全方法。在site-packages添加一个tab模块,每次引入即可。找到你site...

    学习python时经常需要在Mac终端下实时运行python,习惯了PyCharm的自动补全,在终端上写python一个个字母敲很是折磨,如是找到了一个自动补全的方法。

    在site-packages中添加一个tab模块,每次引入即可。找到你的site-packages位置

    >>> import sys, pprint

    >>> pprint.pprint(sys.path)

    ['',

    '/Library/Python/2.7/site-packages/Django-1.10.6-py2.7.egg',

    这里'/Library/Python/2.7/site-packages'就是模块包位置

    创建tab.py模块

    touch /Library/Python/2.7/site-packages/tab.py

    vi /Library/Python/2.7/site-packages/tab.py

    写入tab.py代码

    #!/usr/bin/python

    import readline,rlcompleter

    class TabCompleter(rlcompleter.Completer):

    """Completer that supports indenting"""

    def complete(self, text, state):

    if not text:

    return (' ', None)[state]

    else:

    return rlcompleter.Completer.complete(self, text, state)

    readline.set_completer(TabCompleter().complete)

    if 'libedit' in readline._doc_:

    readline.parse_and_bind("bind -e")

    readline.parse_and_bind("bind '\t' rl_complete")

    else:

    readline.parse_and_bind("tab: complete")

    import os

    histfile = os.path.join(os.environ["HOME"], ".pyhist")

    try:

    readline.read_history_file(histfile)

    except IOError:

    pass

    import atexit

    atexit.register(readline.write_history_file, histfile)

    del histfile终端效果显示

    >>> import tab, copy

    >>> copy. ###按下Tab两次之后显示如下

    604E23C0-C768-4FB7-BF99-7A62B62B7538.png

    展开全文
  • secureCRT支持运行.js和.vbs以及.py格式的脚本,无奈mac上识别前两个格式的脚本只能python脚本, 举个简单例子,利用脚本直接ssh连接一台机器, View菜单勾选Button Bar让这个菜单下方显示出来, ...

    secureCRT支持运行.js和.vbs以及.py格式的脚本,无奈mac上识别前两个格式的脚本只能写一写python脚本, 
    举个简单的例子,利用脚本直接ssh连接一台机器, 
    在View菜单中勾选Button Bar让这个菜单在下方显示出来, 
    在下方的Default右方右键出现一个菜单点击New Button按钮,在显示框的Function一栏选择Run Script中间选择编写好的.py文件 
    .py文件的内容大致如下: 
    这里写两个小脚本

    # $language = "python"
    # $interface = "1.0"
    
    #官方的实例可以在未连接任何服务器的情况下进行ssh连接
    
    #你要连接的ssh服务器ip
    host = '139.196.53.1**'
    #ssh用户名
    user = 'root'
    #ssh密码
    passwd = 'Jinx0007'
    
    def main():
    
        #进行cmd操作连接创建新的session连接
        cmd = "/SSH2 /L %s /PASSWORD %s /C 3DES /M MD5 %s" % (user, passwd, host)
        crt.Session.Connect(cmd)
        #使用默认弹窗提示信息
        crt.Dialog.MessageBox('登录成功!')
    
    main()
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2.另外一个:

    # $language = "python"
    # $interface = "1.0"
    #此方法表示你必须先登录一台ssh服务器然后再去ssh到另外一台服务器
    #ssh主机的ip
    host = '192.168.0.111'
    #ssh主机的用户名
    user = 'root'
    #ssh主机的密码
    passwd = 'Jinx0007'
    
    def main():
        #向屏幕光标后发送以下文字内容,\r表示回车执行
        crt.Screen.Send('ssh '+user+'@'+host+'  \r')
        #在5秒内等待屏幕出现password:或者yes/no文字进行下方操作,超过5秒表示超时
        result = crt.Screen.WaitForStrings(['password:','(yes/no)'],5)
        #当屏幕出现password:字符
        if result == 1:
            crt.Screen.Send(passwd+"\r")
        #屏幕出现(yes/no)等相关字符
        if result == 2:
            crt.Screen.Send('yes \r')
            crt.Screen.WaitForString('password:', 2)
            crt.Screen.Send(passwd+"\r")
        #等待屏幕出现']$'字符
        crt.Screen.WaitForString(']$',5)
        #使用默认弹窗提示信息
        crt.Dialog.MessageBox('登录成功!')
    
    main()

    转载于:https://blog.csdn.net/medivhq/article/details/52119572



    展开全文
  • secureCRT支持运行.js和.vbs以及.py格式的脚本,无奈mac上识别前两个格式的脚本只能python脚本, 举个简单例子,利用脚本直接ssh连接一台机器, View菜单勾选Button Bar让这个菜单下方显示出来, ...

    secureCRT支持运行.js和.vbs以及.py格式的脚本,无奈mac上识别前两个格式的脚本只能写一写python脚本,
    举个简单的例子,利用脚本直接ssh连接一台机器,
    在View菜单中勾选Button Bar让这个菜单在下方显示出来,
    在下方的Default右方右键出现一个菜单点击New Button按钮,在显示框的Function一栏选择Run Script中间选择编写好的.py文件
    .py文件的内容大致如下:
    这里写两个小脚本

    # $language = "python"
    # $interface = "1.0"
    
    #官方的实例可以在未连接任何服务器的情况下进行ssh连接
    
    #你要连接的ssh服务器ip
    host = '139.196.53.1**'
    #ssh用户名
    user = 'root'
    #ssh密码
    passwd = 'Jinx0007'
    
    def main():
    
        #进行cmd操作连接创建新的session连接
        cmd = "/SSH2 /L %s /PASSWORD %s /C 3DES /M MD5 %s" % (user, passwd, host)
        crt.Session.Connect(cmd)
        #使用默认弹窗提示信息
        crt.Dialog.MessageBox('登录成功!')
    
    main()

    2.另外一个:

    # $language = "python"
    # $interface = "1.0"
    #此方法表示你必须先登录一台ssh服务器然后再去ssh到另外一台服务器
    #ssh主机的ip
    host = '192.168.0.111'
    #ssh主机的用户名
    user = 'root'
    #ssh主机的密码
    passwd = 'Jinx0007'
    
    def main():
        #向屏幕光标后发送以下文字内容,\r表示回车执行
        crt.Screen.Send('ssh '+user+'@'+host+'  \r')
        #在5秒内等待屏幕出现password:或者yes/no文字进行下方操作,超过5秒表示超时
        result = crt.Screen.WaitForStrings(['password:','(yes/no)'],5)
        #当屏幕出现password:字符
        if result == 1:
            crt.Screen.Send(passwd+"\r")
        #屏幕出现(yes/no)等相关字符
        if result == 2:
            crt.Screen.Send('yes \r')
            crt.Screen.WaitForString('password:', 2)
            crt.Screen.Send(passwd+"\r")
        #等待屏幕出现']$'字符
        crt.Screen.WaitForString(']$',5)
        #使用默认弹窗提示信息
        crt.Dialog.MessageBox('登录成功!')
    
    main()

     

    展开全文
  • Shell 命令行,一个自动整理 ~/Downloads/ 文件夹下文件的脚本在 mac 或者 linux 系统,我们浏览器或者其他下载软件下载文件全部都下载再 ~/Downloads/ 文件夹下面。日积月累,我们文件会越来越多。手工...

    Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本

    mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文件夹下面。日积月累,我们的文件会越来越多。手工整理这些文件是比较繁琐的工作,于是,我就思考,我能不能用 shell 来自动整理这些下载的文件。

    说干就干。

    为了避免破坏我本地的文件,我自己搞了一个虚拟机跑了一个 centos 然后写下了如下的脚本。

    第一版代码(处理文件名带空格的文件会出错)

    #!/bin/bash
    # Name cleardown
    # Description move you files in ~/Downloads to ~/Documents/OfficeFiles
    # Author FungLeo
    # WebSite http://blog.csdn.net/fungleo
    
    # find .  -maxdepth 1 -type f
    # Excel  Other  PDF  Photo  PPT  Word  Xmind  Zip
    
    # 设定要整理的文件夹为下载目录
    downFinder=~/Downloads/
    # 看看下载目录根目录下有哪些文件
    dfiles=$(ls -l $downFinder | grep ^- | sed 's/[ ][ ]*/,/g' | awk -F "," '{print $NF}')
    # 准备将这些文件处理到哪里去
    filesFinder=~/Documents/OfficeFiles/
    
    # 分辨文件类型,并给出放到哪里去的建议。这里大家可以根据自己的需求完善 case 语句
    function fileType() {
      case $1 in
        'jpg' | 'png' | 'gif' | 'jpeg' | 'bmp')
          echo 'Photo'
        ;;
        'doc' | 'docx')
          echo 'Word'
        ;;
        'xls' | 'xlsx')
          echo 'Excel'
        ;;
        'ppt' | 'pptx')
          echo 'PPT'
        ;;
        'zip' | '7z' | 'rar')
          echo 'Zip'
        ;;
        'xmind')
          echo 'Xmind'
        ;;
        'pdf')
          echo 'PDF'
        ;;
        *)
          echo 'Other'
        ;;
      esac
    }
    
    # 判断目标文件夹中是否包含这个文件
    function hasfile() {
      if [ -f $1 ]; then
        echo 'has'
      else
        echo 'nohas'
      fi
    }
    
    # 给文件重新命个名字,我这里是在后面加了一个 1
    function changeFileName() {
      local filename=$(basename $1)
      echo ${filename%.*}1.${filename##*.}
    }
    
    # 开始搬文件的函数
    function mvFile() {
      # 这个函数需要传两个参数,一个是原文件名,一个是新文件名。
      local name=$1
      local newname=$2
      # 获取文件的后缀名,并且转化为小写
      local type=$(echo $1 | awk -F "." '{print $NF}' | tr "[:upper:]" "[:lower:]" )
      local classify=$(fileType $type)
      local file=$filesFinder$classify'/'$newname
      # 判断新文件名在目标地址是否有同名文件
      local hasf=$(echo $(hasfile $file))
      if [ $hasf = 'has' ]; then
        mvFile $name $(changeFileName $newname)
      else
        mv $downFinder$name $file
      fi
    }
    
    # 循环这些文件,并且进行处理
    for i in $dfiles; do
      mvFile $i $i
    done

    小结

    其中还是使用到了很多的知识点的。

    1. case 语句。一开始用 if 判断,越写越丑。查了下 case 语句,果然清爽很多了。
    2. 获取文件后缀名。本例中用了两种方法。
      1. awk 方法。awk -F "." '{print $NF}'. 分割取最后一个。
      2. ${filename##*.} 取后缀名。${filename%.*} 取文件名
    3. 函数的写法。其实不写 function 也是可以的。
    4. 函数自己调自己,和 js 也没太大区别嘛。
    5. 字符串大小写转换 tr "[:upper:]" "[:lower:]"

    2017年08月08日补充,解决文件名中包含空格的问题

    #!/bin/bash
    # Name cleardown
    # Description move you files in ~/Downloads to ~/Documents/Office Files
    # Author FungLeo
    # WebSite http://blog.csdn.net/fungleo
    
    # find .  -maxdepth 1 -type f
    # Excel  Other  PDF  Photo  PPT  Word  Xmind  Zip
    
    # 设定要整理的文件夹为下载目录
    downFinder="${HOME}/Downloads/"
    # 准备将这些文件处理到哪里去
    filesFinder="${HOME}/Documents/Office Files/"
    
    # 分辨文件类型,并给出放到哪里去的建议。这里大家可以根据自己的需求完善 case 语句
    function fileType() {
      case $1 in
        'jpg' | 'png' | 'gif' | 'jpeg' | 'bmp')
          echo 'Photo'
        ;;
        'doc' | 'docx')
          echo 'Word'
        ;;
        'xls' | 'xlsx')
          echo 'Excel'
        ;;
        'ppt' | 'pptx')
          echo 'PPT'
        ;;
        'zip' | '7z' | 'rar')
          echo 'Zip'
        ;;
        'xmind')
          echo 'Xmind'
        ;;
        'pdf')
          echo 'PDF'
        ;;
        *)
          echo 'Other'
        ;;
      esac
    }
    
    # 判断目标文件夹中是否包含这个文件
    function hasfile() {
      if [ -f $1 ]; then
        echo 'has'
      else
        echo 'nohas'
      fi
    }
    
    # 给文件重新命个名字,我这里是在后面加了一个 1
    function changeFileName() {
      local filename=$(basename $1)
      echo ${filename%.*}1.${filename##*.}
    }
    
    # 开始搬文件的函数
    function mvFile() {
      # 这个函数需要传两个参数,一个是原文件名,一个是新文件名。
      local name=$1
      local newname=$2
      # 获取文件的后缀名,并且转化为小写
      local type=$(echo $1 | awk -F "." '{print $NF}' | tr "[:upper:]" "[:lower:]" )
      local classify=$(fileType $type)
      local file="$filesFinder$classify/$newname"
      # 判断新文件名在目标地址是否有同名文件
      local hasf=$(echo $(hasfile $file))
      if [ $hasf = 'has' ]; then
        mvFile $name $(changeFileName $newname)
      else
        mv "$downFinder$name" "$file"
      fi
    }
    
    # 设置分隔符为换行
    OLD_IFS=$IFS
    IFS=$'\n'
    # 循环这些文件,并且进行处理
    for i in $(find "$downFinder" -maxdepth 1 -type f -not -name ".*" | awk -F "/" '{print $NF}'); do
      mvFile $i $i
    done
    
    # 将分隔符设置为默认,以免影响后面的程序
    IFS=$OLD_IFS

    补充小结

    1. 我先前没有考虑文件夹或者文件包含空格的情况,导致很多问题。
      1. 当把路径用引号 " 引起来的时候,不会解析 ~ 所以要用 ${HOME} 代替
      2. 在引用变量的时候,变量也要用引号引起来。注意,不能是单引号。
    2. 默认分隔符为空白,包含:空格、制表符、回车符,用 IFS 表示。
    3. echo 最终命令,和实际执行的结果不一定是一致的。
    4. find . -not -name ".*" 表示不找隐藏文件

    以上脚本均在 centos 和 MAC 下测试通过,在其他 linux 下可能会有稍许不同。
    本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。

    展开全文
  • 之前答应大家AppiumiOS自动化测试demo,因为经验不够一直拖到现在才开始(PS:其实现在也还摸索...哈)。嗯,目前就我已经搭建成功环境跟大家分享一下,如有不足,恳请指正。本文主要分两部分:第一部分是...
  • 用Python3个12306抢票脚本

    千次阅读 热门讨论 2018-12-27 09:52:02
    一年一度天朝大迁徙就要开始了,但是票还是依然难抢,抢票软件给了钱也抢不到票,人囧途;为此,博主参加编写了一个12306抢票脚本,抢票再也不用愁 运行代码 python3 系统运行环境 windows、mac、linux 使用...
  • 而UI自动化测试是我们必须自己去写脚本,并判断用什么工具和技术来写脚本,考虑如何用code来实现更多测试用例。 常用UI自动化测试工具:Selenium、QIP、Robot Framwork等。 二、什么项目适合做自动化测试? 1....
  • linux安装一些软件的时候可能会用到修改主机的mac...这里推荐使用脚本修改,将脚本写在开机启动配置文件,这样开机后就能生成你需要的mac地址 /etc/rc.local 添加 ifconfig eth0 down ifconfig eth0 h...
  • 青花瓷 for mac

    2017-03-26 20:33:29
    青花瓷for Mac,charles又名青花瓷,iOS开发中的抓包具有重要作用。最大三点用处,一就是拦截别人软件的发送请求和后端接口,练习开发。二是自己后端返回response拦截修改后再接收以达到测试临界数据...
  • 就找了这个maya插件,适用2010,2011,2012,2013,2014maya,打开将插件复制到maya插件目标,同时也把scripts目录下两个导入导出脚本复制进去,maya中选上插件就可以用插件导出collada_Dae文件了。再将这个文件...
  • 包管理器使用一种称为“公式”(formula) DSL 脚本来管理依赖、下载源代码及配置和编译软件,从源代码构建软件。称为“瓶”(bottle)二进制包是用默认选项预编译好公式。官网:https://...
  • 1、需要修改package.json scrpts 加一条create 或者自定义名字 主要是为了我们terminal输入指令后运行对应的脚本 package.json 2、项目根目录新建一个template文件夹放自己模板文件 文件内容根据项目...
  • mac安装Homebrew

    千次阅读 2016-05-04 16:23:54
    写在前面:平时安装软件,发现好多教程里都推荐用brew安装,了解了下Homebrew,发现确实很方便,就用上了,也推荐大家使用。1、Homebrew是什么,有什么用?答:Homebrew是个包管理器,用来安装 Linux 工具包 ruby ...
  • 之前第一 个版本是命令行下交互图床上传脚本,当初只是为了实现功能,聪聪的写完了,导致代码得很烂,后来受到好友hyhmnn启发,增加了按键监听功能,实际写作过程可以更高提高markdown写作效率了。...
  • 导致常年 Mac 系统使用 Windows 虚拟机。我《为什么说每个程序员都应该有台Mac电脑》一文提到,Mac 秉承了苹果一贯高水准体验设计,堪称「完美」典范。 猫哥从 08 年底开始使用 iMac ࿰...
  • 类似py2exe软件能保护python源码吗背景最近了个工具用于对项目C/C++文件字符串常量进行自动化加密处理,用python写的,工具效果不错,所以打算公司内部推广。为了防止代码泄露就考虑不采用直接给源码...
  • 软件界面设计工具_3款合集

    千次下载 热门讨论 2010-06-29 03:52:47
    据作者说,现在这款软件的设计就是用它自己来设计的,经典的“吃自己的狗粮”,这也让我对其更有信心,因为它是开发者为开发者写的软件。 还有值得一提的是Balsamiq Mokups的GetSatisfaction上的用户支持和服务,...
  • 但是微软收购只是source safeWindows版本,美国还有另外两家公司分别获得了继续开发和销售source safe的Mac版本和Unix版本许可,MS买进vss之后,基本上没有对vss进行任何研发,MS内部自身也不用vss。...
  • 主要打算shell脚本中使用。 获取来源 要获取该项目源代码,请发出以下命令: $ GO111MODULE=on GOSUMDB=off go get github.com/theochva/goyaml 安装CLI 对于Mac OS,您可以通过自制软件安装命令: $ brew ...
  • 据作者说,现在这款软件的设计就是用它自己来设计的,经典的“吃自己的狗粮”,这也让我对其更有信心,因为它是开发者为开发者写的软件。 还有值得一提的是Balsamiq Mokups的GetSatisfaction上的用户支持和服务,...
  • 我们可以方便地 mac 上安装各种功能各异的软件,当然,首先的安装 homebrew。安装步骤也非常简单,打开终端然后输入下面的代码: <pre><code>bash $ ruby -e "$(curl -fsSL ...
  • Windows XP(包括 Windows 2000)控制台命令是系统出现一些意外情况下一种非常有效诊断和测试以及恢复系统功能工具。小编的确一直都想把这方面命令做个总结,这次辛苦老范给我们整理了这份实用秘笈。 ...
  • MYSQL中文手册

    2013-03-11 21:21:34
    2.5.在Mac OS X安装MySQL 2.6. 在NetWare安装MySQL 2.7. 在其它类Unix系统安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理...
  • MySQL 5.1中文手冊

    2009-12-11 09:43:12
    2.5.在Mac OS X安装MySQL 2.6. 在NetWare安装MySQL 2.7. 在其它类Unix系统安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译...
  • 2.5.在Mac OS X安装MySQL 2.6. 在NetWare安装MySQL 2.7. 在其它类Unix系统安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译...
  • 查看NFO文件查看器

    2009-04-08 10:43:43
    MAC OSX--->Macintosh平台上的软件 NUKED--->发布的内容违犯规则或存在问题因而被取消 Ebook--->电子书 Repack /Proper--->重新打包/正确的(对上一个不成功的破解的修正) Plug in--->插件 regged--->已经注册了...
  • 2.5.在Mac OS X安装MySQL 2.6. 在NetWare安装MySQL http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 2/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 2.7. 在其它类Unix系统安装MySQL...
  • mysql5.1中文手册

    2008-01-09 09:54:20
    在Mac OS X安装MySQL 2.6. 在NetWare安装MySQL 2.7. 在其它类Unix系统安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4...

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

在mac中写脚本的软件