'''
文件操作

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

1.file参数
file参数是要打开的文件,可以是字符串或整数。如果file是字符串表示文件名,文件名可以是相对当前目录的路径,也可以是绝对路径;如果file是整数表示文件描述符,文件描述符指向一个已经打开的文件
 
2.mode参数
设置打开模式,二进制文件设置rb,wb,xb,ab,如果是文本文件,则设置r,w,x,a

r:只读模式打开文件(默认)
w:写入模式打开文件,会覆盖已经存在的文件
x:独占创建模式,文件不存在时创建并以写入模式打开,如果文件已存在则抛出异常
a:追加模式,如果文件存在,则写入时内容追加到文件末尾
b:二进制模式
+:更新模式
t:文本模式(默认)
 
3.buffering参数
buffering是设置缓冲区策略,默认值为-1,当buffering=-1时系统会自动设置缓冲区,通常是4096或8192字节;当buffering=0时关闭缓冲区,关闭缓冲区时数据直接写入文件中,这种模式主要用于二进制文件的写入操作;当buffering>0时,buffering用来设置缓冲区字节大小
 

4.encoding
设置文件编码
 

5.errors
用来指定编码发生错误时如何处理
 

6.newline
用来设置换行模式
'''

import os

filepath = os.path.join(os.getcwd(), "assets\\file.txt")
if not os.path.exists(filepath):
    print('文件不存在')
else:
    print('文件已存在')

fp = open(filepath, mode='w+')
fp.writelines("Hello World!\n")
fp.writelines("Line2...\n")
# fp.flush() #刷新写缓冲区,数据会写入到文件中

fp.close()

os.remove(filepath)