1、环境及其工具:

  • ubuntu 16.04
  • python2.7(自带)
  • pip2.7(安装)
  • virtualenv(安装)
  • crontab (自带)

2、pip2.7安装

(1)尝试使用 sudo apt install python-pip 失败

(2)尝试使用下载到本地安装 参考:https://blog.csdn.net/arvin_zx/article/details/78893079

  • wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
  • sudo python get-pip.py
  • pip源配置(参考:https://www.cnblogs.com/lqruui/p/6046673.html)
    • mkdir ~/.pip
    • 创建pip.conf文件,添加下面三行
[global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple 

3、virtualenv安装 参考:https://blog.csdn.net/arvin_zx/article/details/78893079

  • sudo apt-get install python-virtualenv
  • sudo easy_install virtualenvwrapper
  • 创建文件夹放置虚拟python环境:mkdir $HOME/.virtualenvs
  • 修改用户的环境变量:.bashrc文件中添加 
    • export WORKON_HOME=$HOME/.virtualenvs
    • source /usr/local/bin/virtualenvwrapper.sh
  • source ~/.bashrc
  • 至此,virtualenv安装完成,使用参考
    • 创建:mkvirtualenv [虚拟环境名称]
    • 切换:workon [虚拟环境名称]
    • 退出:deactivate
    • 删除:rmvirtualenv [虚拟环境名称]

4、crontab的使用

(1)crontab基本使用:

  • crontab编辑:crontab -e
  • crontab GNU nano退出:Ctrl+X -> Y -> 回车
  • crontab运行列表:crontab -l
  • 其他自行查看:crontab -h

(2)crontab执行虚拟环境中的python脚本 (参考:http://www.revotu.com/calling-python-script-from-crontab-with-activate.html)        

  • 方法1:python脚本首行加入 #! /home/Linux用户名/虚拟环境地址放置地址/虚拟环境名称/bin/python
  • 方法2:crontab中用绝对地址执行 python 改为 /home/Linux用户名/虚拟环境地址放置地址/虚拟环境名称/bin/python

5、python脚本中遇到的问题

(1)datetime的格式化:datetime.isoformat()函数

(2)文件读写:with open(filename,'a+') as f

(3)dict对象转字符串:str(dict对象)

(4)dict转json字符串:json.dumps()      json字符串转dict:json.loads()

Python脚本:Linux自动化执行Python脚本的更多相关文章

  1. Linux开机执行bash脚本

    问题描述:     Linux开机执行bash脚本     问题解决:         (1)在 /etc/init.d文件夹中新建一个脚本myinit                     (2) ...

  2. 在Linux中执行.sh脚本,异常

    在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中 ...

  3. 在Linux中执行.sh脚本,异常/bin/sh^M

    在Linux中执行.sh脚本,异常/bin/sh^M 在linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分 ...

  4. 用python写一个自动化盲注脚本

    前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行 ...

  5. linux 下执行python.py 无效解决方案

    python 下写linux执行脚本 单独执行 python /home/xx.py 运行正常,但是在linux下 crotch -l 发现有任务运行: 30 0 * * *  python /hom ...

  6. 记录一次 Linux crontab 执行django 脚本 失败 的经历和解决办法

    目的是想通过定时任务来执行一次数据统计,本来可以用celery来做,但是想着这个项目整个就没用到异步的地方,所以决定用crontab来做.之前做过数据库的热备份,想来用该没啥问题,但是现实打脸啪啪响. ...

  7. 【转】linux 定时执行shell脚本

    在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...

  8. linux 定时执行shell脚本

    转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程, ...

  9. Linux 下执行Shell 脚本的方式

    Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name:(2)path/script-name或者./script-name:(3)so ...

随机推荐

  1. sql注入笔记-sqlite

    1. SQLite 1. 常用语句及基本结构 (1)sqlite因为其比较简易每个db文件就是一个数据库,所以不存在information_schema数据库,但存在类似作用的表sqlite_mast ...

  2. 冲刺阶段——Day2

    [今日进展] 完成黄金点游戏的算法与代码架构. 使用文字界面完成任务 码云链接:https://gitee.com/jxxydwt1999/20175215-java/blob/master/Gold ...

  3. Linux下R环境安装

    R环境的两种安装方式,源码编译安装和yum在线安装 第一种:源码编译安装 1.首先,从官网上下载3.5.0版本 2.下载完后记得解压,我的习惯是解压在/usr/local下面 tar -zxvf R- ...

  4. word里快捷输入分割线

  5. [Java读书笔记] Effective Java(Third Edition) 第 6 章 枚举和注解

    Java支持两种引用类型的特殊用途的系列:一种称为枚举类型(enum type)的类和一种称为注解类型(annotation type)的接口. 第34条:用enum代替int常量 枚举是其合法值由一 ...

  6. Mybatis 事物回滚最简单的操作方式

    简单例子 //假设这是一个service类的片段 try{ //出现异常 } catch (Exception e) { e.printStackTrace(); //设置手动回滚 Transacti ...

  7. ios 自动去重

      //resultArrM 数据原//_indexArray 过滤后的数据//MYSelectAreaModel 模型 /* 重定义索引 */ - (void)sy_indexArray{ /* 索 ...

  8. 2018.04.03 ABAP OLE操作整理

    OLE整理: 1.定义,分别对应EXCEL,workbook(工作簿),sheet(页),单元格 DATA: EXCEL_OBJ TYPE OLE2_OBJECT, BOOK_OBJ TYPE OLE ...

  9. NLP之TF-IDF与BM25原理探究

    前言 本文主要是对TF-IDF和BM25在公式推演.发展沿革方面的演述,全文思路.图片基本来源于此篇公众号推文<搜索中的权重度量利器: TF-IDF和BM25>,侵删. 一 术语 TF: ...

  10. elasticsearch启动日志报错not enough master nodes discovered during pinging (found [[]], but needed [-1]), pinging again

    排查步骤 逻辑上讲是,一个节点去ping  master节点,结果却没有得到回应,多次重试依旧失败.应该重点观察: 1.master启动后,IP是否可以有防火墙权限,设置防火墙规则或则直接关闭防火墙 ...