鱼C论坛

 找回密码
 立即注册
查看: 2601|回复: 5

[已解决]python 管道问题

[复制链接]
发表于 2016-5-31 14:07:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
perl转向python,前面perl的脚本文件可以指定为- 作为管道使用,python怎么简单的实现既可以管道又可以文件的输入呢? 谢谢
最佳答案
2016-5-31 14:40:04
没有用过perl,不太清楚你说的管道操作是什么
在windows的cmd窗口(即dos环境)可以用<做管道输入操作。
举个例子,文件名a.py:
  1. a = input()
  2. b = input()
  3. c = input()
  4. print(a, b, c)
复制代码

建立文本文件,文件名input.txt:
  1. line1
  2. line2
  3. line3
复制代码

则在cmd执行 python a.py < input.txt
输出为:line1 line2 line3
即可用文件内容代替键盘输入了。
同理可以用>把屏幕输出转到一个文件中。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-31 14:40:04 | 显示全部楼层    本楼为最佳答案   
没有用过perl,不太清楚你说的管道操作是什么
在windows的cmd窗口(即dos环境)可以用<做管道输入操作。
举个例子,文件名a.py:
  1. a = input()
  2. b = input()
  3. c = input()
  4. print(a, b, c)
复制代码

建立文本文件,文件名input.txt:
  1. line1
  2. line2
  3. line3
复制代码

则在cmd执行 python a.py < input.txt
输出为:line1 line2 line3
即可用文件内容代替键盘输入了。
同理可以用>把屏幕输出转到一个文件中。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-3 14:39:29 | 显示全部楼层
冬雪雪冬 发表于 2016-5-31 14:40
没有用过perl,不太清楚你说的管道操作是什么
在windows的cmd窗口(即dos环境)可以用把屏幕输出转到一个 ...

谢谢你的帮组。在linux中以前用perl 我常用,perl script.pl file1 file2, 即使我我换做xxx filex | perl script.pl - file2 也是可以运行的。 但是我发现python必须选其一作为输入。即我必须提前就告诉python这里是一个管道替换符号-,不是一个文件。python好像自己不能判断输入文件是什么类型而做出处理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-3 15:44:55 | 显示全部楼层
linux的管道是| ,用 >可以写入吧 记得好像是 嘿嘿 初学 勿怪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-3 17:46:19 | 显示全部楼层
冬雪雪冬 发表于 2016-5-31 14:40
没有用过perl,不太清楚你说的管道操作是什么
在windows的cmd窗口(即dos环境)可以用把屏幕输出转到一个 ...

刚试了试又学到东西了 谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-6 19:43:52 | 显示全部楼层
仙人掌的花go 发表于 2016-6-3 15:44
linux的管道是| ,用 >可以写入吧 记得好像是 嘿嘿 初学 勿怪

python读取不了这写入,要在脚本里面提前实现,他自己不去做这种转换
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 20:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表