[问题] 如何一次建立多个资料串流且进行操作

楼主: LuLuCow   2016-07-12 18:16:31
是这样的
我需要用到 subprocess.Popen(arg, stdout=data_stream, stderr=data_stream)
去存取某个 Linux 下应用程式的执行过程
我有一个自行建立的 IP List File
目的是要用来建立不同的资料串流
内容如下:
192.168.100.1
192.168.100.2
192.168.100.3
先用这个档案借由读档的方式
每一行切割,存到一个 list
接下来我从这个 list 要建立多个 data_stream
data_stream_list = []
for i in list:
data_stream = open("%s.log" % i, "a+")
data_stream_list.append(data_stream)
接着我用 data_stream_list[0] 尝试用 writeline() 这个函数
发现这个物件没有这个函数可以用
附带一提我的编辑器是 pycharm,会是编辑器的问题吗?
List 是不是没办法将里面的每个元素是表示资料串流物件,进而做存取的动作
想请问有没有其他的办法可以达成我要的需求
后续还会需要针对每个独立的资料串流写入不同的资料
作者: kenduest (小州)   2016-07-12 21:03:00
老实说你的问题有看没懂,不知道你的卡住点在哪
楼主: LuLuCow   2016-07-12 22:57:00
我又补上了一些描述,谢谢
作者: MoriUmi (森海)   2016-07-12 23:37:00
看不懂+1 你的data_stream是档案 要用read() write() 另外为什么要把档案塞到list? 感觉好怪 没这样写过 这可以run? 为什么不直接对档案做读写就好了?
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2016-07-12 23:47:00
我用Idle这样做是可以的..你要不要先确定你list里面是塞了什么物件更正 list内只有一个物件才行
楼主: LuLuCow   2016-07-12 23:52:00
To MoriUmi:抱歉是我的失误,第二段误导了你,又改了一下描述To Sunal: 谢谢,我明天再试试看,是不是编辑器问题
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2016-07-13 00:02:00
第二次回圈的时候 data_stream_list[0]档案就被关掉了哈 我也不知道我怎么测的..应该是可以的搞笑了 你是要用writelines吧?以上当我说的都废话就好XDXD 应该是没writeline() method
楼主: LuLuCow   2016-07-13 00:36:00
writelines 没错,少打了一个s我有尝试过 write(),编辑器上也找不到可以用这个函式
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2016-07-13 01:08:00
实际测测看就知道了 应该是可以的
作者: kenduest (小州)   2016-07-13 02:03:00
该不会是说说自动补齐没有找到这事情吧IDE 还没有厉害到判断并找到 list 内是放 open 开启回传的物件吧

Links booklink

Contact Us: admin [ a t ] ucptt.com