作者LuLuCow (LEATHER WEAR)
看板Python
標題[問題] 如何一次建立多個資料串流且進行操作
時間Tue Jul 12 18:16:31 2016
是這樣的
我需要用到 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 是不是沒辦法將裡面的每個元素是表示資料串流物件,進而做存取的動作
想請問有沒有其他的辦法可以達成我要的需求
後續還會需要針對每個獨立的資料串流寫入不同的資料
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.200.12.39
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1468318596.A.B5F.html
※ 編輯: LuLuCow (210.200.12.39), 07/12/2016 18:17:15
1F:→ kenduest: 老實說你的問題有看沒懂,不知道你的卡住點在哪 07/12 21:03
※ 編輯: LuLuCow (61.230.199.129), 07/12/2016 22:57:08
2F:→ LuLuCow: 我又補上了一些描述,謝謝 07/12 22:57
3F:→ MoriUmi: 看不懂+1 你的data_stream是檔案 要用read() write() 另 07/12 23:37
4F:→ MoriUmi: 外為什麼要把檔案塞到list? 感覺好怪 沒這樣寫過 這可以r 07/12 23:37
5F:→ MoriUmi: un? 為什麼不直接對檔案做讀寫就好了? 07/12 23:38
6F:推 Sunal: 我用Idle這樣做是可以的.. 07/12 23:47
7F:→ Sunal: 你要不要先確定你list裡面是塞了什麼物件 07/12 23:47
※ 編輯: LuLuCow (61.230.199.129), 07/12/2016 23:51:16
8F:推 Sunal: 更正 list內只有一個物件才行 07/12 23:51
9F:→ LuLuCow: To MoriUmi:抱歉是我的失誤,第二段誤導了你,又改了一 07/12 23:52
10F:→ LuLuCow: 下描述 07/12 23:52
11F:→ LuLuCow: To Sunal: 謝謝,我明天再試試看,是不是編輯器問題 07/12 23:53
※ 編輯: LuLuCow (61.230.199.129), 07/12/2016 23:54:33
12F:推 Sunal: 第二次回圈的時候 data_stream_list[0]檔案就被關掉了 07/13 00:02
13F:推 Sunal: 哈 我也不知道我怎麼測的..應該是可以的 07/13 00:11
14F:推 Sunal: 搞笑了 你是要用writelines吧? 07/13 00:24
15F:→ Sunal: 以上當我說的都廢話就好XDXD 應該是沒writeline() method 07/13 00:26
16F:→ LuLuCow: writelines 沒錯,少打了一個s 07/13 00:36
17F:→ LuLuCow: 我有嘗試過 write(),編輯器上也找不到可以用這個函式 07/13 00:38
18F:推 Sunal: 實際測測看就知道了 應該是可以的 07/13 01:08
19F:推 kenduest: 該不會是說說自動補齊沒有找到這事情吧 07/13 02:03
20F:推 kenduest: IDE 還沒有厲害到判斷並找到 list 內是放 open 開啟回 07/13 02:05
21F:→ kenduest: 傳的物件吧 07/13 02:05
kenduest 說到我要說的,是自動補齊這件事沒錯,都忘了有這個名詞
我今天測試後的結果我的方法是可以用的,抱歉讓大家看戲了
※ 編輯: LuLuCow (210.200.12.39), 07/13/2016 18:08:54