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中的自定义函数学习笔记
Sep 23 Python
带你了解python装饰器
Jun 15 Python
用Python3创建httpServer的简单方法
Jun 04 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 Python
Flask框架web开发之零基础入门
Dec 10 Python
Python实现的IP端口扫描工具类示例
Feb 15 Python
Django对models里的objects的使用详解
Aug 17 Python
详解Django-channels 实现WebSocket实例
Aug 22 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 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数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
初识laravel5
2015/03/02 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
js点击选择文本的方法
2015/02/09 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
jQuery实现简单三级联动效果
2020/09/05 jQuery
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
Python生成不重复随机值的方法
2015/05/11 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
flask session组件的使用示例
2018/12/25 Python
Python内置函数property()如何使用
2020/09/01 Python
python-地图可视化组件folium的操作
2020/12/14 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
英文自我鉴定
2013/12/10 职场文书
员工工作自我评价
2014/09/26 职场文书
2014年财务部工作总结
2014/11/11 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP