在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头.python中的标识符是区分大小写的.
----这是知识背景------
但是通常python的变成习惯以下划线开头的标识符是有特殊意义的.以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数.
在交互模式下运行python时,一个下划线字符(_)是特殊标识符,它保留了表达式的最后一个计算结果.
"hello"
'hello'
_
①.0+10
在python中,函数、类、模块定义的第一段代码如果是字符串的话,就把它叫作文件字串,可通过__doc__属性访问.如:
def test():
"this is a document string"
return 100+1000
print test.__doc__
this is a document string
方法第一段:os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来.
import os
main = "project1.exe"
r_v = os.system(main)
print (r_v )
方法第二段:commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的内容打印出来.
import subprocess
if os.path.exists(main):
rc,out= subprocess.getstatusoutput(main)
print (rc)
print ('*'*10)
print (out)
方法第三段:popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,也但不会将执行过程中要打印的内容打印出来.
f = os.popen(main)
data = f.readlines()
f.close()
print (data)
另外,上面提到的三种方式,实际上都是在python中执行命令,所以呢他们不只是用来执行可执行文件,也可以用来执行linux系统中别的指令.
在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序.
使用subprocess包中的函数创建子进程的时候,要注意:
①.) 在创建子进程之后,父进程是否暂停,并等待子进程运行.
subprocess.call()
父进程等待子进程完成
返回退出信息
subprocess.check_call()
返回0
检查退出信息,如果returncode不为0,则举出错误subprocess.CalledProcessError,该对象包含有returncode属性,可用try...except...来检查.
subprocess.check_output()
返回子进程向标准输出的输出结果
检查退出信息,如果returncode不为0,则举出错误subprocess.CalledProcessError,该对象包含有returncode属性和output属性,output属性为标准输出的输出结果,可用try...except...来检查.
这三个函数的使用方法相类似,我们以subprocess.call()来说明:
import?subprocess
rc?=?subprocess.call(["ls","-l"])
实际上,我们上面的三个函数都是基于Popen()的封装(wrapper).这些封装的目的在于让我们容易使用子进程.当我们想要更个性化我们的需求的时候,就要转向Popen类,该类生成的对象用来代表子进程.
与上面的封装不同,Popen对象创建后,主程序不会自动等待子进程完成.我们必须调用对象的wait()方法,父进程才会等待 (也就是阻塞block):
child.wait()
print("parent?process")
此外,你还可以在父进程中对子进程进行其它操作,比如我们上面例子中的child对象:
child.poll()? ? ? ? ? # 检查子进程状态
child.kill() ? ? ? ? ?# 终止子进程
child.send_signal()?# 向子进程发送信号
child.terminate() ? ?# 终止子进程
所以呢,如果不希望当前进程被阻塞,你可以使用Popen对象进行操作.
为避免中文显示出错,需导入matplotlib.pylab库
保存图片时,dpi为清晰度,数值越高越清晰.请注意,函数结尾处,必须加plt.show(),不然图像不显示.
绘制流程与绘制不含子图的图像一致,只需注意一点:创建画布.
合理调整figsize、dpi,可避免出现第一幅图横轴名称与第二幅图标题相互遮盖的现象.
以上就是土嘎嘎小编为大家整理的python中rc函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!