直接上個例子吧,注意結果,os.system的結果只是命令執行結果的返回值,執行成功為0:
>>> a=os.system('ls') Applications Movies python-oldboy Applications (Parallels) Music python3.sublime-build Desktop Pictures rpro.log Documents Public test.py Downloads PycharmProjects test.pyc GitHub_source Python_Assignment Library oradiag_shane >>> a 0
可以看到,a為0
但用os.popen就可以讀出執行的內容,popen返回的是file read的對象,對其進行讀取使用read(),就可看到執行的輸出:
>>> 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