免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1823 | 回复: 9
打印 上一主题 下一主题

求大侠们帮忙,python中的值shell如何调用! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-05 11:58 |只看该作者 |倒序浏览
小弟初学,请各位大神帮忙!
ossserver01:/opt # python
Python 2.7.3 (default, Sep 27 2012, 08:53:13)
[GCC 4.1.2 20070115 (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=123
>>> print a
123
>>> quit()

在这样的场景下,我在shell中有什么办法直接调用“123” 这个值?

论坛徽章:
0
2 [报告]
发表于 2012-12-05 12:01 |只看该作者
哥们儿,你都quit()了,解释器进程都结束了,这个123都已经被释放了,哪儿还找得到……
建议你还是从操作系统基础的书学起,如果你真心想要当码农的话……

论坛徽章:
0
3 [报告]
发表于 2012-12-05 12:11 |只看该作者
回复 2# darkn3ss


    感谢! 那我在不quit()的情况下? shell有无办法直接取到python中的这个变量值“123”?

我目前想到的办法,是把123这个变量传到一个文件中来实现。-

论坛徽章:
0
4 [报告]
发表于 2012-12-05 19:15 |只看该作者
python交互模式下,除了写文件,连tcp端口,其他没什么办法来传出一个local var,至少目前我没发现有这种奇葩方法,如果用脚本写,那就可以,返回值里面可以带你的这个123
不知道你这个是个什么奇葩需求,如果只是自己玩着用的,没必要搞这种虐心的做法,python解释器和shell根本就是俩进程,他们要通信,必然就要进程间通信方法,你可以google之,看看有没有你要的内容

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
5 [报告]
发表于 2012-12-05 21:48 |只看该作者
回复 1# liu850918


    前面的人说的,只是从一般的内在交互的角度出发,这个确实没有办法得到值,但其实有一个更一般的方法,
   你可以调用 PIPE来实现,举个例子,

   可以写一个python脚本main.py,
   if __name__ == "__main__":
          a = 123;
          print a;

    #! /bin/bash
    python main.py | xargs -I {} echo "get python value {}"

    这样就可以有交互的方法了。

论坛徽章:
0
6 [报告]
发表于 2012-12-06 11:39 |只看该作者
回复 5# jeppeter


    非常感谢! 呵呵

论坛徽章:
13
双鱼座
日期:2013-10-23 09:30:05数据库技术版块每日发帖之星
日期:2016-04-20 06:20:00程序设计版块每日发帖之星
日期:2016-03-09 06:20:002015亚冠之塔什干火车头
日期:2015-11-02 10:07:452015亚冠之德黑兰石油
日期:2015-08-30 10:07:07数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00数据库技术版块每日发帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龙
日期:2014-12-03 14:45:52酉鸡
日期:2014-07-23 09:46:23亥猪
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
7 [报告]
发表于 2012-12-06 15:48 |只看该作者
a=$(python -c "print 2")

论坛徽章:
0
8 [报告]
发表于 2012-12-07 09:53 |只看该作者
回复 7# bikong0411


    谢谢,你这方法好!

论坛徽章:
0
9 [报告]
发表于 2012-12-07 17:22 |只看该作者

论坛徽章:
0
10 [报告]
发表于 2012-12-13 11:32 |只看该作者
你是不是想这样
#coding:utf-8

a = int(raw_input("please input a:"))
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP