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操作MySQL数据库具体方法
Oct 28 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
在python中对变量判断是否为None的三种方法总结
Jan 23 Python
python使用Plotly绘图工具绘制水平条形图
Mar 25 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
python网络编程 使用UDP、TCP协议收发信息详解
Aug 29 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
python3通过udp实现组播数据的发送和接收操作
May 05 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
python如何绘制疫情图
Sep 16 Python
基于python模拟bfs和dfs代码实例
Nov 19 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
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
python内置数据类型之列表操作
2018/11/12 Python
安装python及pycharm的教程图解
2019/10/10 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
介绍一下gcc特性
2015/10/31 面试题
党员年终个人总结
2015/02/14 职场文书
读书笔记怎么写
2015/07/01 职场文书
行政处罚告知书
2015/07/01 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android