項目需求:需要在編譯環境下創建shell腳本文件,並授予可執行權限.
具體實現:調用os模塊中的mknod方法,注意Python2與Python3中mknod()方法中參數的區別。
注意:這個方法在哪個機器上面調用執行,生成的文件就在哪台機器上面有可執行權限。如果是在A機器上面調用執行,並不會在B機器上面有可執行權限。這種情況下遠程授權還是需要去調用paramiko模塊,執行chmod 777 文件名 進行授權。
def build_pkg_exec_cmd_sh(self, build_cmd_path, build_cmd_content): """構建pkg編譯打包命令的腳本""" import os # import stat # mode = 0o600 | stat.S_IRUSR if not os.path.exists(build_cmd_path): # import pdb;pdb.set_trace() os.mknod(build_cmd_path, 0o777) with open(build_cmd_path, "w+") as fp: fp.write(build_cmd_content)