记录一些不常用/容易有坑的代码
shutil.copytree问题
用shutil.copytree 复制目录的时候, 如果目标文件夹已经存在, 会抛出异常. 解决办法是使用另一个copytree, 两者配合使用
# shutil.copytree 不支持已经存在目录的情况, 但支持ignore
shutil.copytree(THIS_PROJECT_PATH + '/src', TEMP_GEN_DIR + '/src', ignore=shutil.ignore_patterns('*~','*.pyc'))
# 这个方法支持目录已经存在, 但不支持ignore
from distutils.dir_util import copy_tree
copy_tree(THIS_PROJECT_PATH + '/src', TEMP_GEN_DIR + '/src')
nohup python 的正确命令
nohup python test.py >> /tmp/test.log 2>&1 &
命令的格式是:
nohup 命令 >> 文件完整路径 2>&1 &
其中2>&1 中间不能有空格, 2代表错误输出, 这个命令的意思是错误和正常输出合并在一起(即到test.log 文件)
python 运行shell
print('--- 上传项目文件...')
cmd = 'scp -r * ' + REMOTE_HOST + ':' + REMOTE_PATH
print('--- cmd: ' + cmd)
subprocess.call(cmd, shell=True, cwd=THIS_PROJECT_PATH)
网友评论