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实现的批量下载RFC文档
Mar 10 Python
Python编程中使用Pillow来处理图像的基础教程
Nov 20 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
python 编程之twisted详解及简单实例
Jan 28 Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
Python 获取中文字拼音首个字母的方法
Nov 28 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
python求平均数、方差、中位数的例子
Aug 22 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
Python属性和内建属性实例解析
Jan 14 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 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的zip解压缩类pclzip使用示例
2014/03/14 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
JS 字符串连接[性能比较]
2009/05/10 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
Saltstack快速入门简单汇总
2016/03/01 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
对python中的argv和argc使用详解
2018/12/15 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
Python中生成ndarray实例讲解
2021/02/22 Python
学生就业推荐信
2013/11/13 职场文书
工作失职检讨书范文
2014/01/16 职场文书
尽职尽责村干部自我鉴定
2014/01/23 职场文书
安全教育演讲稿
2014/05/09 职场文书
质量负责人任命书
2014/06/06 职场文书
购房委托书
2014/10/15 职场文书
圣诞节开幕词
2015/01/29 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
Java实现简易的分词器功能
2021/06/15 Java/Android
Java异常体系非正常停止和分类
2022/06/14 Java/Android