python - 关于变量外面有单引号的问题。

 啊咧咧咧咧咧咧咧列 发布于 2022-10-26 19:00

本小虾要在linux环境下运行一个python脚本,其中有一部份就是自动部署crontab。原文如下,但是在执行后crontab -l发现由于$name在单引号里面,无法被当作变量处理,实际效果如下:

请问这种情况应该怎么破呢?

#/usr/bin/python 
import os
name = "ABC"   #ABC是具体的模块名,产品经理每一次给的模块名字都不一样
os.environ['name'] = str(name)   #把python的变量转变成shell变量
os.system("echo '*/1 * * * * source /etc/profile && python /share/yunwei/script/watchdog/open/$name/$nameCheck.py > /dev/null 2>&1'>> /var/spool/cron/root")
1 个回答
  • name 在 Python 裡面處理好就好了, 不用寫到 shell:

    #/usr/bin/python
    import os
    name = "ABC"   #ABC是具体的模块名,产品经理每一次给的模块名字都不一样
    cmd_template = "echo '*/1 * * * * source /etc/profile && python /share/yunwei/script/watchdog/open/{name}/{name}Check.py > /dev/null 2>&1'>> /var/spool/cron/root"
    os.system(cmd_template.format(name=name))

    我回答過的問題: Python-QA

    2022-10-27 01:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有