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连接sql server乱码的解决方法
Jan 28 Python
探究Python多进程编程下线程之间变量的共享问题
May 05 Python
python中字典(Dictionary)用法实例详解
May 30 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
使用python自动追踪你的快递(物流推送邮箱)
Mar 17 Python
结束运行python的方法
Jun 16 Python
python自动从arxiv下载paper的示例代码
Dec 05 Python
Pytorch可视化的几种实现方法
Jun 10 Python
Python函数中apply、map、applymap的区别
Nov 27 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
PHP中的正规表达式(二)
2006/10/09 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
全面分析Python的优点和缺点
2018/02/07 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
使用Python来开发微信功能
2018/06/13 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
Django REST 异常处理详解
2020/07/15 Python
Python csv文件记录流程代码解析
2020/07/16 Python
Python pymsql模块的使用
2020/09/07 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
宣传保护环境的公益广告词
2014/03/13 职场文书
总经理工作职责范文
2014/03/14 职场文书
新春文艺演出主持词
2014/03/27 职场文书
法定代表人身份证明书
2015/06/18 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript