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 自动提交和抓取网页
Jul 13 Python
Python实现在线程里运行scrapy的方法
Apr 07 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
set在python里的含义和用法
Jun 24 Python
Python3内置模块random随机方法小结
Jul 13 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
Python unittest基本使用方法代码实例
Jun 29 Python
python编写扎金花小程序的实例代码
Feb 23 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 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生成静态HTML速度快类库
2007/03/18 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
PHP类的特性实例分析
2016/09/28 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
2014/03/19 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
JavaScript实现简易计算器小功能
2020/10/22 Javascript
python求众数问题实例
2014/09/26 Python
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
python增加图像对比度的方法
2019/07/12 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
名人演讲稿范文
2013/12/28 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
超市中秋节活动方案
2014/02/12 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python