最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python执行shell获取这些信息,python执行shell脚本有以下三种方法: 1. os.system() os.system('ls')#返回结果0或者1,不能得到命令的输出 2. os.popen() output = os.popen('ls') print output.read()#打印出的…
最近工作需求中 有遇到这个情况  在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法   最后还是选择了subprocess这个python标准库 subprocess这个模块可以非常方便的启动一个子进程,并且控制其输入和输出 Class Popen(args,bufsize = 0,executable=None,            stdin =None,stdout =None,stderr =None,            preex…
1.os模块中的os.system()这个函数来执行shell命令 1 2 3 >>> os.system('ls') anaconda-ks.cfg  install.log  install.log.syslog  send_sms_service.py  sms.py 0 注,这个方法得不到shell命令的输出. 2.popen()#这个方法能得到命令执行后的结果是一个字符串,要自行处理才能得到想要的信息. 1 2 3 4 5 >>> import os >…
一.Http协议 二.Https协议 三.使用Python获取数据 (1)urlib (2)GET请求 (3)POST请求 四.爬取豆瓣电影实战 1.思路 (1)在浏览器中输入https://movie.douban.com/j/search_tags?type=movie会得到显示的电影的分类标签,下面以“热门”为例 {"tags":["热门","最新","经典","可播放","豆瓣高分&quo…
在工程中特别是稍微大一点的项目基本上都会用到配置,就会涉及到配置文件的读取,配置参数的读取. 常用的解析配置文件的是configParser,解析命令行参数的则为getopt. getopt的参数可以分为两种:长模式和短模式. 长模式在命令行中为:--arg1 arg_value. 短模式则是长模式之外的常用空格分隔的参数. 在程序中使用getopt.getopt()对象获取参数,其格式为: opts, args = getopt.getopt(arg_list, shor_mode, long…
一.命令行参数的取得对于一些功能性的脚本来说非常有用,不至于将功能写死在脚本中. shell的命令行参数直接用 $ 1,$2 等就可以直接获取 其中 $1 表示 第二个参数,即命令行的第一个参数,因为默认 $0 参数表示脚本本身,而 $@ 表示命令行参数列表,即总的参数个数. 二.python命令行参数的表示方法同理,只不过使用了sys.argv包来处理参数,也是将参数作为一个列表,使用len函数可以获取参数个数…
1 os.system 可以返回运行shell命令状态,同时会在终端输出运行结果 例如 ipython中运行如下命令,返回运行状态status os.system('cat /etc/passwdqc.conf') min=disabled,24,11,8,7 max=40 passphrase=3 match=4 similar=deny random=47 enforce=everyone retry=3 Out[6]: 0 2 os.popen() 可以返回运行结果 popen(comma…
1.使用readline可以实现 import subprocess def run_shell(shell): cmd = subprocess.Popen(shell, stdin=subprocess.PIPE, stderr=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True, shell=True, bufsize=1) # 实时输出 while True: line = cmd.stdout.readlin…
#!/bin/sh hdfs dfs -ls /user/hive/warehouse | awk '{print $8}' | awk -F "/" '{print $5}' >hivedb.txt sed -i '1d' hivedb.txt dbline=$(cat hivedb.txt | wc -l) let dbline=dbline+1 if [ $dbline -gt 0 ] then for (( i = 1 ; i < $dbline ; i++ ))…
一.import os ex: 1.os.system('ls') ----并不能得到返回值 2.output = os.popen('ls') res = output.read() ----能得到输出,但是不能得到程序执行的返回值 二.import commands ex: >>> import commands >>> commands.getstatusoutput('ls') (0, 'a\nb\nc') >>> commands.getou…
对于 request.POST.get(name) 方式取值,需要 from 表单提交数据,如果 是ajax 提交数据,则需要做如下设置: 1.设置请求头,以from表单方式传值 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' 2. 使用 qs.stringify() 将数据对象 序列化成URL的形式,以&进行拼接 import qs from 'qs' body = qs.stringify(body) //发…
# coding=UTF-8 import os def distcp(): nncheck = os.system('lsof -i:8020') dncheck = os.system('lsof -i:50010') if nncheck == 256 and (dncheck == 256): os.system("su - hdfs hadoop-daemon.sh start namenode") os.system("su - hdfs hadoop-daemo…
python执行shell脚本常用的方法 import os val=os.system("shell语句")  >>> val=os.system("more /tmp/web.access.log |grep 222.132.79.77 -wc")826>>> print val0 val=os.popen("shell语句").read()  val=可以获取返回值 >>> val=os…
paip.执行shell cmd 命令uapi java php python总结 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax D:\wamp\php\php.exe  E:\DedeCMS-V5.7-UTF8-SP1-Full\uploads\del_some_dir.php E:\OfflineExplorerPortable\Download budejie,xi…
编程中经常需要在程序中使用shell命令来简化程序,这里记录一下. 1. C++ 执行shell命令 #include <iostream> #include <string> #include <stdio.h> int exec_cmd(std::string cmd, std::string &res){ ){ //cmd is empty ; } ] = {}; std::string result = ""; FILE *pin =…
+++++++++++++++++++++++++++++ python执行shell命令1 os.system 可以返回运行shell命令状态,同时会在终端输出运行结果 例如 ipython中运行如下命令,返回运行状态status os.system('python -V') os.system('tree') 2 os.popen() 可以返回运行结果 import os r = os.popen('python -V').read() print(type(r)) print(r) 或者…
linux: python执行shell脚本常用的方法 import os val=os.system("shell语句")  >>> val=os.system("more /tmp/web.access.log |grep 222.132.79.77 -wc")826>>> print val0 val=os.popen("shell语句").read()  val=可以获取返回值 >>>…
Oozie执行Shell,传入参数1. 新建一个workflow 2. 拖入一个shell 3. shell脚本如下 #!/bin/sh sqoop import --connect jdbc:mysql://localhost:3306/spider_new --username root --password 1234qwer --target-dir /user/fengz/brand/spider_data/amac/amac_fund_$1 --delete-target-dir --…
os.popen():用python执行shell的命令,并且返回了结果,括号中是写shell命令 Python执行系统命令的方法: https://my.oschina.net/renwofei423/blog/17403 linux命令之ifconfig详细解释:http://xp9802.iteye.com/blog/2120351 linux下代替system的基于管道的popen和pclose函数:http://blog.csdn.net/shanzhizi/article/detai…
python学习——python中执行shell命令 2013-10-21 17:44:33 标签:python shell命令 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhou123.blog.51cto.com/4355617/1312791 这里介绍一下python执行shell命令的四种方法: 1.os模块中的os.system()这个函数来执行shell命令 1 2 3 >>> os.system('…
问题背景 在Linux中我们会使用到shell,来完成输入参数的获取,就如同下面的形式,这种形式在进行多语言编程和调用有着非常重要的作用 一.传递的过程 1.1 原理模型如下: 1.1.1 可执行sh文件中调用C文件 1.1.2 可执行c文件中调用sh文件 1.2 从shell调用c 根据上述的模型可以知道,通过在shell中加入c程序的编译运行命令,如[gcc -o filename filename.c]来完成编译,使用命令[./filename]来进行调用 代码: 下面的代码就是运行编译后…
小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢nodejs路由和Ajax之间的数据传输,也就是表单提交,然后在用nodejs把数据写入mysql数据库 用到的东西比较多,但是还是很有趣的 1.安装node.js 安装node.js,直接去官网下载然后根据需求点击下一步就好了 Node.js安装包及源码下载地址为:https://nodejs.org…
这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包均是Python现有的内置模块.需要的朋友可以参考借鉴,下面来一起看看吧. 一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: 该命令目前已经废弃,被s…
小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢nodejs路由和Ajax之间的数据传输,也就是表单提交,然后在用nodejs把数据写入mysql数据库 用到的东西比较多,但是还是很有趣的 1.安装node.js 安装node.js,直接去官网下载然后根据需求点击下一步就好了 Node.js安装包及源码下载地址为:https://nodejs.org…
mysql 创建简单的临时表 tmp create database test; use test; DROP TABLE IF EXISTS `tmp`; CREATE TABLE `tmp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING…
用Python调用Shell命令有如下几种方式: 第一种: os.system("The command you want"). 这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回.返回值是依赖于系统的,直接返回系统的调用返回值,所以windows和linux是不一样的. 第二种: os.popen(command[,mode[,bufsize]]) 先给大家看个例子 可以看出,popen方法通过p.read()获取终端输出,而且popen需要关闭close().当执行成功时,c…
subprocess模块可以允许我们执行shell命令 一般来说,使用run()方法就可以满足大部分情况 使用run执行shell命令 In [5]: subprocess.run('echo "hello"',shell=True) helloOut[5]: CompletedProcess(args='echo "hello"', returncode=0) run方法执行的命令都是在子shell中进行的 # shell.py的内容import subproce…
https://my.oschina.net/leejun2005/blog/150662 http://blog.csdn.net/10km/article/details/51906821 如题,一般我们写Shell脚本的时候,都倾向使用绝对路径,这样无论脚本在什么目录执行,都应该起到相同的效果,但是有些时候,我们设计一个软件包中的工具脚本,可能使用相对路径更加灵活一点,因为你不知道用户会在哪个目录执行你的程序,就有了本文的题目. 常见的一种误区,是使用 pwd 命令,该命令的作用是“pri…
前言 如打开博客园按时间分类标签页[https://www.cnblogs.com/yoyoketang/archive/2018/10.html],里面是时间参数是动态的,如果我想获取里面的时间参数2018和10这两个参数,这就涉及到url参数的获取了. 获取url参数 先用path去匹配一个url地址,类似于:archive/2018/10.html,于是取两个参数名称year,month.参数用<name>这种格式 from django.conf.urls import url fro…
使用Python执行存储过程 使用Python执行存储过程[2部分]: 1.执行存储过程,获取存储过程的结果集  2.将返回值设置给了  @_存储过程名_序号 = #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test_python', charset='utf8'…