Linux命令行接口包

bushi的Python项目详细描述


布希

这个包包含在基于Linux的终端中处理命令的函数。 这个包的主要目的是用一个更简单的基于Python的函数替换^{str1}$Shell脚本。在

目标

版本1.0

主要

  • 终端输入和输出格式。(自0.1.0开始)
  • 使用tmux命令管理多个会话(自0.3.0起)
  • 使用colcon命令构建基于ROS的包。在
  • 使用git命令管理Git存储库。在
  • 使用apt-get命令管理APT包。在

轻微

  • cmd.run()必须保留输出格式。(中止,cmd.run()更改为非管道输出)

变更日志

版本0.3.0(2020年3月14日)

  • 添加使用以下功能处理多个会话的tmux类:
    • 使用tmux.session_exist()检查会话是否存在。在
    • 使用tmux.session_kill()终止会话。在
    • 使用tmux.detach()从当前会话分离。在
    • 使用具有以下功能的tmux.session_run()在不同的会话上运行一个输出为的单独进程:
      • 它将调用bushi-tmux-runner,处理如何调用进程以及如何将进程返回代码返回父进程。在
      • 它用于替换tmux.run(),我们在查看其输出时要执行一个进程。在
      • 分离tmux会话时,进程失败。在
      • 当键盘中断时,或进程失败时,它将继续分离当前会话。在
  • 按如下方式修改io中的函数:
    • 改变进程线程的调用方式,它只会在需要时创建,否则它将被销毁。在
    • 调用io.process_stop()而不是更改io.__process_text来停止进程线程。在
    • 添加io.press_enter()函数,该函数尝试在继续程序之前等待enter键。在
    • 添加io.ask_yes_no()函数,该函数将询问接受yesno输入的问题,并将该值分别返回为True和{}。 如果输入无效,它将终止程序。在
  • 按如下方式修改cmd中的函数:
    • cmd.run()改为调用subprocess.run(),而不是通过管道将输出发送到父进程的subprocess.pOpen()。在

版本0.2.0(2020年3月13日)

  • 添加处理子进程运行的cmd类,该类具有以下功能:
    • run()运行带有输出的子进程。在
    • runmuted()运行没有任何输出的子进程。在
  • 添加使用以下功能处理文件和目录的path类:
    • 使用isfile(),和isdir()检查文件和目录是否存在。在
    • 分别使用getdir()changedir()获取和更改工作目录。在
    • 其他一些功能也存在于os.path。在
  • 按如下方式修改io中的函数:
    • 更改输出的行为方式。在
    • 修改process命令的输出格式。在
    • 更改过程符号的动画方式。在
    • 在进程命令中输出持续时间。在

版本0.1.0(12/03/2020)

  • 添加使用以下功能处理终端输入和输出的io类:
    • 使用info()warn()fail()succes()info_list()warn_list()fail_list()success_list()和{}输出到终端。在
    • 使用ask()ask_secret()从终端输入。在
    • 输入和输出都将强调*之间的字符串。(例如:*here*
    • 使用terminate()退出当前进程。 如果参数为空,此函数将返回恩0。 否则,它将输出参数并返回1。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java recyclerview在上下滚动时工作不正常   java如何计算两个向量之间的角度?   Netbeans:java。lang.UnsatifiedLinkError:java中没有splashscreen。图书馆路径:   java我希望在一个方法中包含两个数组列表   linkedHashSet中的java重复项索引   java最有效的分句方法   java多个编写器一个读取器而不并发   java调用LockSupport时线程的状态。unpark()   带有开放JDK和Tomcat 9.0的Struts 2的java Servlet API转换问题   java如何将ArrayList分配给列表?   javasound java for loop的执行次数超过了metronome程序的执行次数   java OKTA在命中/groups端点时返回400错误   java IntelliJ IDEA添加库和maven依赖之间的区别   java将hashmap值交换为键   java将EBNF语法转换为上下文无关语法   适用于安卓的java Zxing条形码匹配应用程序   java kSoap2多部分/相关响应   安全java小程序socket连接问题   在线Java书籍   java使aspectj与scala模型一起工作