hongweipeng 发布的文章

Python调用系统函数:pexcept模块


起步

人生苦短,我用python!最近涉猎也是越来越广了。需要创建ftp用户,然而创建用户是需要root的权限才能执行的,更是需要后续输入,好在有pexcept可以实现自由交互

举个栗子

要确定pexpect模块已安装:sudo pip install pexpect 看一个用sudo权限touch一个文件:

#!/usr/bin/env python
# coding=utf-8
import pexpect

cmd = "sudo touch sudo_touch"
passwd = '***'

run = pexpect.spawn(cmd)
try:
    run.sendline(passwd)
    ouput = run.read()
    print ouput
except:
    print 'Error'


OpenStack TaskFlow的介绍


前言

TaskFlow是OpenStack中的一个Python库,主要目的是让task(任务)执行更加容易可靠,能将轻量的任务对象组织成一个有序的流。

若未安装taskflow到环境中:

pip install taskflow

目前TaskFlow支持三种模式:

  • 线性:运行一个任务或流的列表,是一个接一个串行方式运行。
  • 无序:运行一个任务或流的列表,以并行的方式运行,顺序与列表顺序无关,任务之间不存在依赖关系。
  • 图:运行一个图标(组节点和边缘节点)之间组成的任务/流依赖驱动的顺序。


记一个git for windows的坑:文件名大小写问题


起步

我建个a.CSS并add commit了才发现,重新命名为a.css,然后发现git status还是一个干净的工作区。傻眼了。

原因

因为Windows系统文件名不区分大小写,Linux区分大小写。

解决

git config core.ignorecase  false

这样Win上的Git设置为大小写敏感。

开发真的首选linux,可以少走很多坑,避免windows很多不合理的设计。


git撤销错误提交commit


起步

commitpush到github之后,惊讶发现测试代码没删除,一些信息直接输出出来了,解决方法自然有去掉调试信息后重新commit,但想想后续会带来不必要的麻烦,而且万一提交的是公司服务器ip账号密码等信息就可怕了。