Python中的文件创建
我一直在回顾,但它没有提到如何创建一个文件,如果一个不存在。我该怎么做呢?只要Python中的文件创建,python,python-3.x,Python,Python 3.x,我一直在回顾,但它没有提到如何创建一个文件,如果一个不存在。我该怎么做呢?只要以w模式打开文件,它就会被创建出来 如果您希望在可能的情况下打开现有文件,但在其他情况下创建新文件(并且不希望截断现有文件),请阅读链接中列出模式的段落。或者,有关完整的详细信息,请参阅参考文档。例如,如果要附加到末尾而不是从开头覆盖,请使用a仅在写入或附加模式下创建新文件 open('file', 'w') 在壳牌: $ ls $ python -c 'open("file", "w")' $ ls file $
以w
模式打开文件,它就会被创建出来
如果您希望在可能的情况下打开现有文件,但在其他情况下创建新文件(并且不希望截断现有文件),请阅读链接中列出模式的段落。或者,有关完整的详细信息,请参阅参考文档。例如,如果要附加到末尾而不是从开头覆盖,请使用a
仅在写入或附加模式下创建新文件
open('file', 'w')
在壳牌:
$ ls
$ python -c 'open("file", "w")'
$ ls
file
$
当然
with open('newfile.txt', 'w') as f:
f.write('Text in a new file!')
只需在写入模式下打开文件:
f = open('fileToWrite.txt', 'w')
请注意,这将删除现有文件。最安全的方法是使用附加模式:
f = open('fileToWrite.txt', 'a')
如中所述,通常最好使用with
语句来确保文件在完成后关闭。可以创建两种类型的文件。文本和二进制文件。
要创建文本文件,只需使用file=open('(文件名和位置在这里).txt、'w')
。
要制作一个二进制文件,您首先要导入pickle,然后要在其中放入数据(如列表编号等),您需要使用“wb”和pickle.dump(数据,文件变量)
来取出,您需要使用“rb”和pickle.load(文件变量)
并给它一个变量,因为这就是您引用数据的方式。
举个例子:
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
请注意,如果存在这样一个文件,它将被重写。您是否尝试使用“f=open('workfile','w')”并查看python是否自己创建了该文件?我知道在某些语言中这是一种正常的行为。对,但即使你使用with语句,你不需要做f.close()
来关闭文件吗?@Nathan2055:这是with
的全部要点,你不需要f.close()
(或者,对于其他类型,lock.release()
,等等),谢谢@jordanm的编辑。我通常做脚注链接,但我今天很忙。