看板 Python 關於我們 聯絡資訊
是這樣的 我需要用到 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://www.ptt.cc/bbs/Python/M.1468318596.A.B5F.html ※ 編輯: LuLuCow (210.200.12.39), 07/12/2016 18:17:15
kenduest: 老實說你的問題有看沒懂,不知道你的卡住點在哪 07/12 21:03
※ 編輯: LuLuCow (61.230.199.129), 07/12/2016 22:57:08
LuLuCow: 我又補上了一些描述,謝謝 07/12 22:57
MoriUmi: 看不懂+1 你的data_stream是檔案 要用read() write() 另 07/12 23:37
MoriUmi: 外為什麼要把檔案塞到list? 感覺好怪 沒這樣寫過 這可以r 07/12 23:37
MoriUmi: un? 為什麼不直接對檔案做讀寫就好了? 07/12 23:38
Sunal: 我用Idle這樣做是可以的.. 07/12 23:47
Sunal: 你要不要先確定你list裡面是塞了什麼物件 07/12 23:47
※ 編輯: LuLuCow (61.230.199.129), 07/12/2016 23:51:16
Sunal: 更正 list內只有一個物件才行 07/12 23:51
LuLuCow: To MoriUmi:抱歉是我的失誤,第二段誤導了你,又改了一 07/12 23:52
LuLuCow: 下描述 07/12 23:52
LuLuCow: To Sunal: 謝謝,我明天再試試看,是不是編輯器問題 07/12 23:53
※ 編輯: LuLuCow (61.230.199.129), 07/12/2016 23:54:33
Sunal: 第二次回圈的時候 data_stream_list[0]檔案就被關掉了 07/13 00:02
Sunal: 哈 我也不知道我怎麼測的..應該是可以的 07/13 00:11
Sunal: 搞笑了 你是要用writelines吧? 07/13 00:24
Sunal: 以上當我說的都廢話就好XDXD 應該是沒writeline() method 07/13 00:26
LuLuCow: writelines 沒錯,少打了一個s 07/13 00:36
LuLuCow: 我有嘗試過 write(),編輯器上也找不到可以用這個函式 07/13 00:38
Sunal: 實際測測看就知道了 應該是可以的 07/13 01:08
kenduest: 該不會是說說自動補齊沒有找到這事情吧 07/13 02:03
kenduest: IDE 還沒有厲害到判斷並找到 list 內是放 open 開啟回 07/13 02:05
kenduest: 傳的物件吧 07/13 02:05
kenduest 說到我要說的,是自動補齊這件事沒錯,都忘了有這個名詞 我今天測試後的結果我的方法是可以用的,抱歉讓大家看戲了 ※ 編輯: LuLuCow (210.200.12.39), 07/13/2016 18:08:54