2013-04-05 99 views

回答

2

在写模式下只要打开文件:

f = open('fileToWrite.txt', 'w') 

注意,这会揍现有文件。最安全的方法是使用附加模式:

f = open('fileToWrite.txt', 'a') 

正如this answer提到的,这是一般最好使用with声明,以确保当你已经完成了它的文件被关闭。

+0

没错,但即使你使用with语句,你也不需要做'f.close()'来关闭文件吗? – Nathan2055 2013-04-05 00:21:00

+2

@ Nathan2055:''with'的整点就是你不需要'f.close()'(或者对于其他类型的'lock.release()'等) – abarnert 2013-04-05 00:29:47

+0

啊,好的。谢谢! – Nathan2055 2013-04-05 00:33:03

4

只是open该文件在w模式下,它将被创建。

如果您想要打开现有文件(如果可能),但是另外创建一个新文件(并且不想截断现有文件),请阅读链接中列出模式的段落。或者,有关完整的详细信息,请参阅open参考文档。例如,如果您想追加到最后而不是从头开始覆盖,请使用a

2

新文件仅在写入或追加模式下创建。

open('file', 'w') 

在外壳:

$ ls 
$ python -c 'open("file", "w")' 
$ ls 
file 
$ 
2

当然。

with open('newfile.txt', 'w') as f: 
     f.write('Text in a new file!') 
1

有两种类型的文件可以制作。一个文本和二进制文件。 使文本文件只使用file = open('(file name and location goes here).txt', 'w')。 要做一个二进制文件,你首先import pickle,然后把数据(如列表中的数字等..)在他们中,你将需要使用'wb'和pickle.dump(data, file_variable)取出你将需要使用'rb'和pickle.load(file_variable)并给予一个变量,这是你如何引用数据。 这里是一个的exaple:

import pickle #bring in pickle 
shoplistfile = 'shoplist.data' 
shoplist = ['apple', 'peach', 'carrot', 'spice'] #create data 
f = open(shoplistfile, 'wb') # the 'wb' 
pickle.dump(shoplist, f) #put data in 
f.close 
del shoplist #delete data 
f = open(shoplistfile, 'rb') #open data remember 'rb' 
storedlist = pickle.load(f) 
print (storedlist) #output 

请注意,如果存在这样的文件将在writen。