python中os.popen, os.system()区别
直接上个例子吧,注意结果,os.system的结果只是命令执行结果的返回值,执行成功为0:
|
1
2
3
4
5
6
7
8
9
10
|
>>> a=os.system('ls')Applications Movies python-oldboyApplications (Parallels) Music python3.sublime-buildDesktop Pictures rpro.logDocuments Public test.pyDownloads PycharmProjects test.pycGitHub_source Python_AssignmentLibrary oradiag_shane>>> a0 |
可以看到,a为0
但用os.popen就可以读出执行的内容,popen返回的是file read的对象,对其进行读取使用read(),就可看到执行的输出:
|
1
2
3
4
5
6
|
>>> b=os.popen('ls')>>> b.read()'Applications\nApplications (Parallels)\nDesktop\nDocuments\nDownloads\nGitHub_source\nLibrary\nMovies\nMusic\nPictures\nPublic\nPycharmProjects\nPython_Assignment\noradiag_shane\npython-oldboy\npython3.sublime-build\nrpro.log\ntest.py\ntest.pyc\n'>>> type(b)<class 'os._wrap_close'>>>> |
可以看出,输出的结果比较特殊,带换行符\n

浙公网安备 33010602011771号