我一直在审核the tutorial for file management in Python 3,但没有提及如果文件不存在,如何创建文件。我怎么能这样做?
答案 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
请注意,如果存在此类文件,则会将其写入。