私は今非常に基本的なプログラマーなので、Pythonプログラミングの非常に基本的なことを知りたいです):結果(リスト、文字列など)をPythonのファイルに保存するにはどうすればよいですか?私はたくさん検索してきましたが、これに対する良い答えは見つかりませんでした。私は「.write()」メソッドについて考えていましたが、(たとえば)文字列では機能しないようです。だから、私の状況は私が編集したいバイナリファイルを持っているので、それらを文字列に変換して変更するのが簡単であることがわかりました、そして今私はそれらを保存したいと思いますi)バイナリファイル(jpeg画像)に戻しますおよびii)必要なフォルダ内。どうすればいいですか?助けが必要です。
アップデート
これが私が実行しようとしているスクリプトです:
import os, sys
newpath= r'C:/Users/Umberto/Desktop/temporary'
if not os.path.exists (newpath):
os.makedirs (newpath)
data= open ('C:/Users/Umberto/Desktop/Prove_Script/Varie/_BR_Browse.001_2065642654_1.BINARY', 'rb+')
edit_data= str (data.read () )
out_dir= os.path.join (newpath, 'feed', 'address')
data.close ()
# do my edits in a secon time...
edit_data.write (newpath)
edit_data.close ()
私が得るエラーは次のとおりです。
AttributeError: 'str' object has no attribute 'write'
UPDATE_2
私はpickleモジュールを使用してバイナリファイルをシリアル化し、変更して最後に保存しようとしましたが、それでも機能しませんでした...これは私がこれまで試してきたことです:
import cPickle as pickle
binary= open ('C:\Users\Umberto\Desktop\Prove_Script\Varie\_BR_Browse.001_2065642654_1.BINARY', 'rb')
out= open ('C:\Users\Umberto\Desktop\Prove_Script\Varie\preview.txt', 'wb')
pickle.dump (binary, out, 1)
TypeError Traceback (most recent call last)
<ipython-input-6-981b17a6ad99> in <module>()
----> 1 pprint.pprint (pickle.dump (binary, out, 1))
C:\Python27\ArcGIS10.1\lib\copy_reg.pyc in _reduce_ex(self, proto)
68 else:
69 if base is self.__class__:
---> 70 raise TypeError, "can't pickle %s objects" % base.__name__
71 state = base(self)
72 args = (self.__class__, base, state)
TypeError: can't pickle file objects
私が得られなかったもう1つのことは、poitするファイルを作成することになっている場合(私の場合は「out」を作成する必要がありました。そうしないと、pickleメソッドの正しい引数がありません)、または必要ありません。 。私が解決策に近づいていることを願っています。
PS:私はpickle.dumps()でも試しましたが、より良い結果は得られませんでした...