在Python中创建文件

时间:2013-04-05 00:06:11

标签: python python-3.x

我一直在审核the tutorial for file management in Python 3,但没有提及如果文件不存在,如何创建文件。我怎么能这样做?

5 个答案:

答案 0 :(得分:4)

open模式下的w文件,将会创建它。

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

答案 1 :(得分:2)

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

open('file', 'w')

在shell中:

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

答案 2 :(得分:2)

当然。

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

答案 3 :(得分:2)

只需以写入模式打开文件:

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

请注意,这将破坏现有文件。最安全的方法是使用追加模式:

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

正如this answer中所提到的,通常最好使用with语句来确保文件在完成后关闭。

答案 4 :(得分:1)

您可以制作两种类型的文件。文本和二进制文件。 制作文本文件只需使用file = open('(file name and location goes here).txt', 'w')。 要先创建一个二进制文件import pickle,然后将数据(如列表编号等)放入其中,您需要使用'wb'和pickle.dump(data, file_variable)来取出你将需要使用' rb'和pickle.load(file_variable)并给出一个变量,因为你是如何引用数据的。 这是一个例子:

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

请注意,如果存在此类文件,则会将其写入。