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代码制作configure文件示例
Jul 28 Python
python开发之文件操作用法实例
Nov 13 Python
教你使用python画一朵花送女朋友
Mar 29 Python
Win8下python3.5.1安装教程
Jul 29 Python
python实现dijkstra最短路由算法
Jan 17 Python
Golang GBK转UTF-8的例子
Aug 26 Python
python list转置和前后反转的例子
Aug 26 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 Python
Python类的继承super相关原理解析
Oct 22 Python
sklearn中的交叉验证的实现(Cross-Validation)
Feb 22 Python
我对PyTorch dataloader里的shuffle=True的理解
May 20 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
2006/12/14 PHP
php开发文档 会员收费1期
2012/08/14 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
python生成IP段的方法
2015/07/07 Python
python实现实时监控文件的方法
2016/08/26 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
料理师求职信
2014/01/30 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
销售内勤岗位职责
2015/02/10 职场文书
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis