'''
1、访问模式----------------------------------------------------------------------------
r:只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
w:只用于写入。若文件已存在,则覆盖;不存在,则新建
a:打开一个文件用于追加。若已存在,指针放在文件的结尾,即新内容会被写入到已有内容之后。若不存在,则新建文件写入
rb:以二进制格式打开文件用于只读。文件指针放在文件的开头。默认模式
wb:以二进制格式打开文件只用于写入。若文件已存在,则覆盖;不存在,则新建
ab:以二进制格式打开文件用于追加。若已存在,指针放在文件的结尾,即新内容会被写入到已有内容之后。若不存在,则新建文件写入
2、文件打开模式:r、w、a为文本模式;rb、wb、ab为二进制模式------------------------------------
文本模式VS二进制模式
以换行符为例:mac系统中,换行时自动添加\r; windows为\r\n; linux为:\n
在编程程序中,换行符统一默认\n
若以【文本模式】打开文件,在程序转向操作系统/操作系统文件转入程序时,会进行换行符的转换
若使用二进制模式打开文件,不会进行换行符的转换
3、文件本质上都是以二进制的方式存储在磁盘上的
4、使用场景:
某些数据本身就需要换行,例如文字、字母这类普通文本,需要使用文本模式
图片这类则可以使用二进制模式
'''
'''1、文件的打开和关闭-打开后建议加上关闭代码,防止空间过渡占用---------------------------------------------'''
fa=open('a.txt','w')
fa_content='hello world!第一次\n啊'
fa.write(fa_content)
fa.close()
fa=open('a.txt','r')
print(fa.read())
fa.close()
'''2、文件的操作----------------------------------------------------------'''
fa=open('a.txt','a')
fa_content=('\nnice day')
fa.write(fa_content)
fa.close()
'''3、文件读写函数----------------------------------------------------------'''
fa=open('a.txt','w')
fa.writelines(['aaa\n','bb\n','c\n'])
fa.close()
fa=open('a.txt','r')
fa.readlines()
fa.close()
'''4、文件拷贝(二进制模式比较合适)----------------------------------------------------------'''
old_file=input('请输入要复制的文件名:')
old=open(old_file,'rb')
new_file='[备份]'+old_file
new=open(new_file,'wb')
new_content=new.write(old.read())
old.close()
new.close()
'''4、文件重命名/删除/创建和删除目录----------------------------------------------------------'''
import os
os.rename('a.txt','new_a.txt')
import os
os.remove('文件名')
import os
os.mkdir('目录名或所在路径')
os.rmdir('目录名或所在路径')
import os
file_list=os.listdir()
print(file_list)
import os
cwd=os.getcwd()
print(cwd)
'''上述的其他的删除、增加文件或者目录,若不指定路径,都是默认在当前目录下去找的'''
os.chdir('目标工作目录')
os.mkdir('新建的文件夹名')