2016-12-17 90 views
0

我認爲這應該很簡單,我只是想念一些東西。我閱讀了這方面的文檔。 (見下面的網站) 我只是想把這個文件寫到我的目錄上的某個地方。 (即C:\用戶)將las文件寫入python目錄

我總是在這一點上有麻煩哈哈。 我正在使用一個包來讀取/寫入.las文件。太好了。我只需要將.las保存到我的目錄中。任何幫助表示讚賞。

http://pythonhosted.org/lasio/usage.html#example-ipython-notebooks

這是寫入控制檯。我怎麼寫的「C:\用戶\」

import sys 
l.write(sys.stdout, version=2.0, fmt="%10.5g") 

我試過,但它不工作

l.write('C:/Users/Test.las', version=2.0, fmt="%10.5g") 

這裏是問題。

--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
<ipython-input-68-64d516a834ff> in <module>() 
     2 #exportfile = l.write(sys.stdout, version=2.0, fmt="%10.5g") 
     3 
----> 4 l.write('C:/Users/Test.las', version=2.0, fmt="%10.5g") 

C:\Users\\Anaconda3\lib\site-packages\lasio\las.py in write(self, file_object, version, wrap, STRT, STOP, STEP, fmt) 
    175   ''' 
    176   writer.write(self, file_object, version=version, wrap=wrap, 
--> 177      STRT=STRT, STOP=STOP, STEP=STEP, fmt=fmt) 
    178 
    179  def get_curve(self, mnemonic): 

C:\Users\\Anaconda3\lib\site-packages\lasio\writer.py in write(las, file_object, version, wrap, STRT, STOP, STEP, fmt) 
    129  lines.append('~ASCII '.ljust(60, '-')) 
    130 
--> 131  file_object.write('\n'.join(lines)) 
    132  file_object.write('\n') 
    133 

AttributeError: 'str' object has no attribute 'write' 
+0

'sys.stdout'是*文件句柄*,這樣也許可以解釋爲什麼自己的嘗試 - 餵養它簡單字符串 - 失敗。 (請注意,「它不起作用」可能是一個準確的描述,但仍然是無用的。沒有錯誤消息,或任何東西?)尋找一種方法來在Python的io庫中創建文件句柄。 – usr2564301

+0

'打開('Test.las','w')爲f:l.write(f,version ...)' – Gribouillis

+0

謝謝,是的。我知道這不是一個好的描述。我只知道這是一個簡單的修復。儘管如此,我總是在文件輸出上掙扎。謝謝! – brandog

回答

1

打開文件第一和寫入打開的文件對象:

with open('C:/Users/Test.las', 'w') as fobj: 
    l.write(fobj, version=2.0, fmt="%10.5g") 
+0

是的!謝謝!完善。謝謝! – brandog