Python学习札记

(该博文长期不定时更新,学习到新的知识就会更新,只为记录自己的学习过程,就酱o(╯□╰)o)

1、Strip()去除字符串中所有不想要的空白符,split()方法创建一个列表。
2、Sorted()BIF支持复制排序。
3、分片,列表推导
4、工厂函数去除掉里列表中重复的项。
5、定义一个类时,实际上是在定义一个定制工厂函数。
6、使用dict()工厂函数或使用{}可以创建一个空字典。
要访问一个person字典中与键Name关联的值,可以使用括号记法:person[‘Name’].
类中增加数据,d[‘Name’]=name,或者是d={‘Name’:’name’}
7、类中定义的每个方法都必须提供self作为第一个参数;
类中的每个属性前面都必须有self,从而将数据与其实例关联。
8、Chr用于输出一个ASCII码所代表的字符,ord用于输出一个字符对应的ASCII码。
例如

a=[97,98,99],b=[‘a’,’b’,’c’];
Print chr(a[1])  输出为b
Print ord(b[0])  输出为97

9、str有一个replace函数,用于替换字符串。

str.replace(old, new[, max])

参数

    old -- 将被替换的子字符串。
    new -- 新字符串,用于替换old子字符串。
    max -- 可选字符串, 替换不超过 max 次

10、python中的subprocess模块可以调用shell执行命令,常见用法如下:

(1)subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
语义:运行由args指定的命令,直到命令结束后,返回 返回码的属性值。
在使用这个函数时,不要使用 stdout=PIPE 或 stderr=PIPE 参数,不然会导致子进程输出的死锁。如果要使用管道,可以在 communicate()方法中使用Popen。
(2)subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
语义:运行由args指定的命令,直到命令执行完成。如果返回码为零,则返回。否则,抛出 CalledProcessError异常。同样不要在这个函数中使用 stdout=PIPE 或 stderr=PIPE, 否则会造成子进程死锁。
(3)Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None,
preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)

与(1)(2)不同,Popen对象创建后,主程序不会自动等待子进程完成。我们必须调用对象的wait()方法,父进程才会等待 (也就是阻塞block)。

p.communicate可以与新进程交互,但是必须要在popen构造时候将管道重定向。并且communicate()方法会阻塞父进程,直到子进程完成。
p=subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
(stdoutdata, stderrdata) = p.communicate()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值