前言
os.system方法是os模塊最基礎的方法,其它的方法一般在該方法基礎上封裝完成。
os的system原理
-
system函數可以將字符串轉化成命令在服務器上運行;其原理是每一條system函數執行時,其會創建一個子進程在系統上執行命令行,子進程的執行結果無法影響主進程;
-
上述原理會導致當需要執行多條命令行的時候可能得不到預期的結果;
import os
os.system('cd /usr/local')
os.mkdir('aaa.txt)
- 上述程序運行后會發現txt文件並沒有創建在/usr/local文件夾下,而是在當前的目錄下;
使用system執行多條命令
- 為了保證system執行多條命令可以成功,多條命令需要在同一個子進程中運行;
import os
os.system('cd /usr/local && mkdir aaa.txt')
# 或者
os.system('cd /usr/local ; mkdir aaa.txt')