项目需求:需要在编译环境下创建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)