看板 Python 關於我們 聯絡資訊
大家好,不好意思,本人剛碰python第三天 因為在作業上有需求,所以需要寫一個程式來計算比較方便 目標: 1.讀檔畫圖 2.滑鼠點擊想要知道的位置 3.將座標寫入檔案中 利用google大神,目前已經突破不少難關 但是剛剛發現,我寫入檔案的座標並不是當下跑完的座標 也就是,我挑完點之後,去看文字檔,它呈現的是上一次的座標 (難怪第一次跑的時候,甚麼都沒有QQ) 是不是我哪邊邏輯有問題 程式碼如下: ################################################ import matplotlib.pyplot as plt #讀取要繪圖的檔案 filename = 'test1.txt' X,Y = [],[] with open(filename, 'r') as f: lines = f.readlines() for line in lines: value = [float(s) for s in line.split()] X.append(value[0]) Y.append(value[1]) plt.plot(X, Y) print("左鍵加點,右鍵取消新添加的點數,中鍵單擊結束") f.close #將滑鼠點擊座標寫入檔案 fp = open("triangle.txt",'w') pos=plt.ginput(30, timeout=-1) #(最大30點,無時間限制) print (pos, file=fp) fp.close ###################################################### 順帶一提 如果print(pos, file=fp) 只讓他單純 prine(pos) 在console視窗是正確的、當下跑的座標位置 所以我一直在想是不是在這邊有甚麼邏輯錯誤 不好意思,讓大家看東拼西湊的程式碼OTZ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.175.100 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1544162675.A.F67.html ※ 編輯: a00011111143 (140.121.175.100), 12/07/2018 14:12:53
s860134: close沒() 12/07 19:43
感謝!!!真的就是因為沒有()!!!謝謝~~
rexyeah: with statement不需要特別做close 12/08 08:48
s860134: 他後面點擊記錄的部分並沒有在 context manager 裡面 12/08 08:51
jameschiou: 我幫忙測試跑的結果是正確的... 12/09 00:29
※ 編輯: a00011111143 (140.121.175.100), 12/10/2018 14:17:38