python和shell变量互相传递的几种方法


Posted in Python onNovember 20, 2013

python -> shell:

1.环境变量

import os  
var=123或var='123'
os.environ['var']=str(var)  #environ的键值必须是字符串   
os.system('echo $var') 
import os  
var=123或var='123'
os.environ['var']=str(var)  #environ的键值必须是字符串  
os.system('echo $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前有空格  
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) 
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() 
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'
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' #追加 
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 
import os  
var=os.popen('echo -n 123').read( )  
print var 

2.

import commands  
var=commands.getoutput('echo abc')       #输出结果   
var=commands.getstatusoutput('echo abc') #退出状态和输出结果 
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( ) #读取整个文件到一个行字符串的列表中 
input = open('/tmp/mytxt', 'r')  
S = input.read( )      #把整个文件读到一个字符串中  
S = input.readline( )  #读下一行(越过行结束标志)  
L = input.readlines( ) #读取整个文件到一个行字符串的列表中 

Python 相关文章推荐
Python时间戳与时间字符串互相转换实例代码
Nov 28 Python
下载给定网页上图片的方法
Feb 18 Python
一个小示例告诉你Python语言的优雅之处
Jul 04 Python
从源码解析Python的Flask框架中request对象的用法
Jun 02 Python
Python中static相关知识小结
Jan 02 Python
python图书管理系统
Apr 05 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
django使用admin站点上传图片的实例
Jul 28 Python
python Elasticsearch索引建立和数据的上传详解
Aug 04 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
使用Python爬取Json数据的示例代码
Dec 07 Python
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 #Python
python从ftp下载数据保存实例
Nov 20 #Python
python正则表达式抓取成语网站
Nov 20 #Python
python爬取网站数据保存使用的方法
Nov 20 #Python
使用python搭建Django应用程序步骤及版本冲突问题解决
Nov 19 #Python
python解析json实例方法
Nov 19 #Python
python聊天程序实例代码分享
Nov 18 #Python
You might like
解析php中如何调用用户自定义函数
2013/08/06 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
PHP目录操作实例总结
2016/09/27 PHP
php实用代码片段整理
2016/11/12 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
javascript读取RSS数据
2007/01/20 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
Python实现随机选择元素功能
2017/09/14 Python
Python中实现switch功能实例解析
2018/01/11 Python
python重试装饰器的简单实现方法
2019/01/31 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
介绍一下代理模式(Proxy)
2014/10/17 面试题
毕业晚会主持词
2014/03/24 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
二审答辩状范文
2015/05/22 职场文书
签证工作证明模板
2015/06/15 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
Nginx的基本概念和原理
2022/03/21 Servers