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 (2)
Oct 31 Python
Python编程中字符串和列表的基本知识讲解
Oct 14 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
socket + select 完成伪并发操作的实例
Aug 15 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
Python3生成手写体数字方法
Jan 30 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
基于注解实现 SpringBoot 接口防刷的方法
Mar 02 Python
Python+SeaTable实现计算两个日期间的工作日天数
Jul 07 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
Python生成词云的实现代码
2020/01/14 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
早会主持词
2014/03/17 职场文书
客户答谢会活动方案
2014/08/31 职场文书
医生见习报告范文
2014/11/03 职场文书
企业党员岗位承诺书
2015/04/27 职场文书