python和shell的联系_python中如何使用shell命令, 及python 与shell 中的变量相互通信...

news/2024/7/5 19:57:23 标签: python和shell的联系

1. python中使用shell命令有多种方法,我自己觉得比较好用的是用commands模块:

import commands

a,b = commands.getstatusoutput("ls -Al")

a是退出状态(int类型), b是shell 命令的输出结果

python -> shell:

1.环境变量

import os

var=123或var='123'

os.environ['var']=str(var) #environ的键值必须是字符串

os.system('echo $var') 或

a,b = commands.getstatusoutput("$var")

2.字符串连接

import os

path='/root/a.txt'

var=[1]

var='bash'

os.system('echo ' + path) #注意echo后有空格

os.system('echo ' + str(var[0]))

os.system('echo ' + var + ' /root/c.sh') #注意echo后和/root前有空格

3.通过管道

import os

var='123'

os.popen('wc -c', 'w').write(var)

4.通过文件

output = open('/tmp/mytxt', 'w')

output.write(S) #把字符串S写入文件

output.writelines(L) #将列表L中所有的行字符串写到文件中

output.close()

5.通过重定向标准备输出

buf = open('/root/a.txt', 'w')

print >> buf, '123\n', 'abc'

或:

print >> open('/root/a.txt', 'w'), '123\n', 'abc' #写入或生成文件

print >> open('/root/a.txt', 'a'), '123\n', 'abc' #追加

shell -> python:

1.管道

import os

var=os.popen('echo -n 123').read( )

print var

2.

import commands

var=commands.getoutput('echo abc') #输出结果

var=commands.getstatusoutput('echo abc') #退出状态和输出结果

3.文件

input = open('/tmp/mytxt', 'r')

S = input.read( ) #把整个文件读到一个字符串中

S = input.readline( ) #读下一行(越过行结束标志)

L = input.readlines( ) #读取整个文件到一个行字符串的列表中


http://www.niftyadmin.cn/n/1485123.html

相关文章

通过js实现“复制”功能

var oInput document.createElement(input); oInput.value res; document.body.appendChild(oInput); oInput.select(); // 选择对象 document.execCommand("Copy"); // 执行浏览器复制命令 document.body.removeChild(oInput);

固态硬盘(Solid State Drives)

固态硬盘(Solid State Drives) 学习了:https://baike.baidu.com/item/%E5%9B%BA%E6%80%81%E7%A1%AC%E7%9B%98/453510?fraladdin 一般它擦写次数普遍为3000次左右,以常用的64G为例,在SSD的平衡写入机理下,可…

javascriptの一些问题

1、form中的input有哪些类型?各是做什么处理使用的? text radio checkbox file button image submit reset hidden submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了。 如果表…

python公开直播课_今晚Python与人工智能直播课来袭,Mars喊你快上车

你们等待许久的公开课来了 10月24日晚19:30——21:30 Python达人Mars老师直播开讲 这门90后的语言,26岁时终于加冕 ▼ Python并不是一门新的语言,它1991年推出第一个公开发行版本,比Java早4年。 2011年1月被TIOBE网站评为2010年度语言&#x…

web.xml中listener、 filter、servlet 加载顺序及其详解

首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param&#xff…

java环境下,订单号或者流水号的生成方法(1)

方法一: (一).订单号、流水号要求: 单数据库下支持高并发唯一的新单号,不保证连续性不保存数据库内唯一,保证表内唯一(二).设计思路 如何保证数据唯一?先看下单号样例…

yum 命令全集

yum check-update 检查可更新的所有软件包 yum update 下载更新系统已安装的所有软件包 yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 yum install <packages> 安装新软件包 yum update <packages> 更新指定的软件包 yum remove …

用python快速做表_用Python快速处理表格,让你快人一步两步三四部

日常工作中表格处理时非常令人头疼的一个部分&#xff0c; 概念 CSV (Comma Separated Values)&#xff0c;即逗号分隔值&#xff08;也称字符分隔值&#xff0c;因为分隔符可以不是逗号&#xff09;&#xff0c;是一种常用的文本 格式&#xff0c;用以存储表格数据&#xff0c…