python shell中调用指定位置的叫脚本中sys.stdin传参问题

最近在学习hadoop开发,在本地实现Hadoop原理的简单逻辑,编写了简单的内容分割脚本。

# coding=utf-8

import sys

def read_input(file):
    for line in file:
        yield line.split()

def main():
    data=read_input(sys.stdin)

    for words in data:
        for word in words:
            print("%s%s%d"(word,'\t',1))

if __name__ == '__main__':
    main()

现在我想在python shell中运行该脚本,我该怎么样把一个字符串让这个py脚本读取到呢?

我尝试了这样的命令行

![clipboard.
clipboard.png

结果并不正确,求助
~

阅读 2.5k
2 个回答

python shell是一个运行的python 解释器,不能执行文件,也没必要用这个吧。windows上有powershell,linux有内置shell,都可以python 文件名.py运行。

首先你的代码在print语句中少了一个%。
在python shell中点左上角 file open, 打开你的py文件,此时弹出窗口如下:

clipboard.png

点击run -> run module,出来一个新窗口,输入 a b c d e 回车,结果如下

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题