一个二进制文件,我想知道Python编程的一个很基本的东西,因为我是一个很基本的程序员现在):我怎么能保存的结果(无论是列表,字符串,或任何)到Python中的文件? 我一直在寻找很多,但我找不到任何好的答案。 我正在考虑“.write()”方法,但(例如)它似乎不适用于字符串,我也不知道它应该做什么。 所以,我的情况是我有二进制文件,我想编辑,因此我发现很容易将它们转换为字符串,修改它们,现在我想将它们保存到i)回到二进制文件(jpegs图像)和ii)在我想要的文件夹中。 我该怎么做?请我需要一些帮助。保存字符串在Python
UPDATE
这里是我试图运行脚本:
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
我试图使用泡菜模块连载我的二进制文件,修改并保存到了最后,但还是没有得到它的工作......这就是我一直在试图至今:
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
另一件事我没有”不过,如果我应该创建一个文件来支持(在我的情况下,我必须创建“out”,否则我就没有pickle方法的正确参数),或者没有必要。 希望我正在接近解决方案。
PS:我也试图与pickle.dumps(),没有实现虽然更好的结果...
'write'不能用字符串工作?无论如何,如果你想将列表等保存到一个文件中,最好使用[pickle](http://docs.python.org/2/library/pickle.html),但这与工作完全不同与JPEG或其他二进制文件 – 2013-03-04 15:40:00
我会编辑我的问题,以便您可以看到我想要做什么,即使我知道我使用'.write()'模块的部分是完全错误的,因为我仍然不知道不知道如何使用它... – umbe1987 2013-03-04 15:44:27
你可以显示你正在尝试的代码吗?否则无法回答这个问题。 – 2013-03-04 15:45:05