python和shell变量互相传递的几种方法
python -> shell:
1.环境变量
var=123或var='123'
os.environ['var']=str(var) #environ的键值必须是字符串
os.system('echo $var')
var=123或var='123'
os.environ['var']=str(var) #environ的键值必须是字符串
os.system('echo $var')
2.字符串连接
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前有空格
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.通过管道
var='123'
os.popen('wc -c', 'w').write(var)
var='123'
os.popen('wc -c', 'w').write(var)
4.通过文件
output.write(S) #把字符串S写入文件
output.writelines(L) #将列表L中所有的行字符串写到文件中
output.close()
output.write(S) #把字符串S写入文件
output.writelines(L) #将列表L中所有的行字符串写到文件中
output.close()
5.通过重定向标准备输出
print >> buf, '123\n', 'abc'
print >> buf, '123\n', 'abc'
或
print >> open('/root/a.txt', 'a'), '123\n', 'abc' #追加
print >> open('/root/a.txt', 'a'), '123\n', 'abc' #追加
shell -> python:
1.管道
var=os.popen('echo -n 123').read( )
print var
var=os.popen('echo -n 123').read( )
print var
2.
var=commands.getoutput('echo abc') #输出结果
var=commands.getstatusoutput('echo abc') #退出状态和输出结果
var=commands.getoutput('echo abc') #输出结果
var=commands.getstatusoutput('echo abc') #退出状态和输出结果
3.文件
S = input.read( ) #把整个文件读到一个字符串中
S = input.readline( ) #读下一行(越过行结束标志)
L = input.readlines( ) #读取整个文件到一个行字符串的列表中
S = input.read( ) #把整个文件读到一个字符串中
S = input.readline( ) #读下一行(越过行结束标志)
L = input.readlines( ) #读取整个文件到一个行字符串的列表中
转自 http://www.jb51.net/article/43500.htm
python和shell变量互相传递的几种方法的更多相关文章
- python和shell变量互相传递
python -> shell: 1.环境变量 复制代码 代码如下: import os var=123或var='123'os.environ['var']=str(var) #envir ...
- Python两个变量的值进行交换的方法
Python两个变量的值进行交换的方法 使用第三方变量: '''这是第一种赋值方法,采用第三方变量''' c = a a = b b = c 使用两个变量: '''使用两个变量''' a = a+b ...
- Java执行shell脚本并返回结果两种方法的完整代码
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的 ...
- Python中模拟enum枚举类型的5种方法分享
这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下 以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...
- Bash Shell 注释多行的几种方法(转)
很实用的小技巧. 我们shell脚本写好了,但是想一行一行测试,怎么办. 笨方法:每行前面加一个 #,有时候我们原脚本里面本来就有注释,所以想再恢复的时候就麻烦了. Bash Shell 注释多行的几 ...
- Python执行系统命令并获得输出的几种方法
[root@a upfc]# ./ffmpeg-linux64-v3.3.1 -i a.mp3 ffmpeg version N-86111-ga441aa90e8-static http://joh ...
- Python+Selenium自动化-定位页面元素的八种方法
Python+Selenium自动化-定位页面元素的八种方法 本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...
- 在shell中变量的赋值有五种方法!
转至:https://blog.csdn.net/weibo1230123/article/details/82085226 在shell中变量的赋值有五种 :使用 read 命令,直接赋值,使用命令 ...
- linux 环境变量PATH路径的三种方法
转:http://www.jb51.net/LINUXjishu/150167.html 总结:修改1.#PATH=$PATH:/etc/apache/bin 或者#vi /etc/profile ...
随机推荐
- Java学习之路(三)
1:面向对象
- java-cmd-命令行编译和运行java文件
一.使用的工具 1.javac 2.java 二.命令 项目目录只这样的 D:/project/src/com/example/Child.java D:/project/src/com/exampl ...
- IOSFramework打包。
http://www.cocoachina.com/ios/20150127/11022.html
- C语言第4天循环,流程控制。
C语言第四天 :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { borde ...
- 没有必要去指定SqlSessionFactory或SqlSessionTemplate
<!-- 自动注册mybatis mapper bean --><!-- 注意,没有必要去指定SqlSessionFactory或SqlSessionTemplate, 因为 ...
- QT笔记之QLineEdit自动补全以及控件提升
转载:http://www.cnblogs.com/csuftzzk/p/qss_lineedit_completer.html?utm_source=tuicool&utm_medium=r ...
- Linux内核中的GPIO系统之(3):pin controller driver代码分析
一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...
- 【Unity3D游戏开发】性能优化之缩减打包压缩包大小 (二八)
unity3d打包的所有文件是会被记录而且被排序的.所以这大大方便了我们分析为何打包文件如此之大,以及怎么减少打包文件. 日志目录一般在:C:\Users\Administrator\AppData\ ...
- 正则表达式(/[^0-9]/g,'')中的"/g"是什么意思 ?
正则表达式(/[^0-9]/g,'')中的"/g"是什么意思 ? 表达式加上参数g之后,表明可以进行全局匹配,注意这里“可以”的含义.我们详细叙述: 1)对于表达式对象的e ...
- MySQL(六) —— 运算符和函数
1. 字符函数 函数名称 描述 CONCAT() 字符连接 CONCAT_WS() 使用指定的分隔符进行字 ...