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.字符串连接(windows下有效)

复制代码 代码如下:

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和shell变量互相传递的更多相关文章

  1. python和shell变量互相传递的几种方法

    python -> shell: 1.环境变量 复制代码代码如下: import os  var=123或var='123'os.environ['var']=str(var)  #enviro ...

  2. Linux/Unix shell sql 之间传递变量

    灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考. Lin ...

  3. shell变量自增 || Python脚本接收参数

    一.shell变量自增a=1a=$(($a+1))a=$[$a+1]a=`expr $a + 1`let a++ let a+=1 ((a++)) echo $a 二.python脚本接收参数 fro ...

  4. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  5. python和shell对比

    python和shell都是我们经常使用的脚本语言,平时python主要用来写一些小型的任务,shell则在使用liunx系统部署任务的时候用的比较多,由于两者有一些相似之处,时间长了容易混掉,所以这 ...

  6. Shell变量概述

    目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...

  7. shell变量详解

    1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.de ...

  8. 三、Shell变量类型和运算符

    一.Shell变量的应用 1.Shell变量的种类     ·用户自定义变量:由用户自己定义.修改和使用     ·预定义变量:Bash预定义的特殊变量,不能直接修改     ·位置变量:通过命令行给 ...

  9. Shell入门教程:Shell变量

    变量 是一种很“弱”的变量,默认情况下,一个变量保存一个串,Shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如 let.declare.expr.双括号等. Shell变量可 ...

随机推荐

  1. 018 spark on yarn (Job history)的配置,主要是yarn处跳转到历史聚合页面

    一:目标 1.目标 在yarn的8080页面可以跳转到spark的日志18080页面. 因为在运行spark之后,看对应的job的日志,这样直接连接,更合理直接. 2.总结 在后面可以看到,其实不需要 ...

  2. 【转】一张图解析FastAdmin中的表格列表的功能

     一张图解析FastAdmin中的表格列表的功能 功能描述请根据图片上的数字索引查看对应功能说明. 1.时间筛选器如果想在搜索栏使用时间区间进行搜索,则可以在JS中修改修改字段属性,如 {field: ...

  3. NumPy学习(索引和切片,合并,分割,copy与deep copy)

    NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...

  4. 前端解读控制反转(IOC)

    前言 随着前端承担的职责越来越重,前端应用向着复杂化.规模化的方向发展.大型项目模块化是一种趋势,不可避免模块之间要相互依赖,此外还有很多第三方包.这样的话如何去管理这些繁杂的文件,是一个不可避免的话 ...

  5. 每日踩坑 2019-04-09 Web.config configuration 蓝色波浪线 未声明 configuration 标签的解决办法

    百度看了几篇答案都没有给出解决方案,看了看 MSDN. https://docs.microsoft.com/zh-cn/previous-versions/ms228147(v=vs.110) 似乎 ...

  6. luogu P2657 [SCOI2009]windy数 数位dp 记忆化搜索

    题目链接 luogu P2657 [SCOI2009]windy数 题解 我有了一种所有数位dp都能用记忆话搜索水的错觉 代码 #include<cstdio> #include<a ...

  7. CF915E Physical Education Lessons 动态开点线段树

    题目链接 CF915E Physical Education Lessons 题解 动态开点线段树 代码 /* 动态开点线段树 */ #include<cstdio> #include&l ...

  8. git 分支合并冲突

    准备新的feature1分支,继续我们的新分支开发 [root@node1 git]# git checkout -b feature1 D git/LICENSE.txt Switched to a ...

  9. Linux.Centos.yum命令的“No module named yum”错误

    Centos版本: uname -a Linux ygpiao -.el6.x86_64 # SMP Tue Jun :: UTC x86_64 x86_64 x86_64 GNU/Linux 在一次 ...

  10. jdk9+版本的bug

    今天从jvm大神"你假笨"的公众号上,看到一个jdk 9+版本的编译bug,记录一下: public class JavacEvalBug{ private static Stri ...