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')

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐