#文件的模式
# 'r','w','a'
w模式(write)
1 def write(): 2 fw = open('test.txt','w') #w写模式会覆盖数据,并且如果文件不存在就会创建该文件 3 fw.write('你好啊,世界') 4 fw.write('\n再见,蜘蛛侠sssw') #\n相对于换行输入 5 line = ['\nwo','\n思考方式','\nakdfk'] 6 fw.writelines(line) #writelines写入多行,参数可以是变量,列表等等 7 # fw.write(line) #报错,write()参数只能是字符串 8 fw.close() 9 write()
r模式(read)
1 def read(): 2 fr = open('test.txt','r') #读方式打开文件 3 fr_content = fr.read() #read()没有指定参数,就读取所有数据,指定了参数,就读取对应多个的字符 4 fr_content_line = fr.readline() 5 fr_content_line1 = fr.readline() #readline()每次读一行,文件对象会记录上次read读到的地方,下次调用就会读下一行 6 fr_content_line2 = fr.readline() #注意,read对象记录的读取位置包括全部读取函数读取的位置,再次调用读取函数就会从最后的位置 7 #开始读,如果读完,再次读取就为空 8 fr_readlines = fr.readlines() #readlines()会读取多行,默认读全部, 9 for r_line in fr_readlines: #for循环将readlines结果不空行打印出来,把readlines()返回列表元素的\n删除 10 if r_line[-1:] == '\n': #调试模式下可以看到,'\n'只占用了一个字符 11 r_line_rmv = r_line[:-1] #列表里的字符串类型数据是不可改变的,要使用更改后的字符串就要通过赋值给新的字符串对象 12 print(r_line_rmv) 13 else: 14 print(r_line) 15 fr.close() 16 print(fr_content) 17 print(fr_content_line) 18 print(fr_content_line1) 19 print(fr_content_line2) 20 print(fr_readlines) 21 read()
a模式(append)
1 f = open('test.txt','a',encoding='utf-8') #a追加模式打开文件 2 fadd = '这是追加的文件内容!!!\n' #写入的内容 3 f.write(fadd) #write()写入 4 f = close() #关闭文件
文件拷贝
1 # 文件拷贝 2 #1.获得要拷贝的原文件名 3 old_file = input('输入文件名:') 4 # 2.设置新的文件名 5 new_file_name = old_file + '.bk' 6 # 3.打开新的文件 7 file_old = open(old_file,'rb') #用二进制格式读和写可以保证文件原封不动的复制 8 file_new = open(new_file_name,'wb') 9 # 4.将老文件内容写到新文件里 10 old_content = file_old.read() 11 file_new.write(old_content) 12 # print(file_new.read()) 13 # 5.关闭新老文件 14 file_old.close() 15 file_new.close()
文件重命名和删除操作
1 import os #导入os模块,和文件相关的函数在这个模块 2 def file_rename(): #文件重命名 3 os.rename('test.txt.bk','test_copy.txt') #rename()更改文件名字 4 5 file_rename() 6 7 def file_remove(): #删除文件 8 os.remove('test_copy.txt') #如果只写文件名,默认就在当前目录下找文件,找不到就报错,可以用文件的完整路径找其他地方的文件 9 file_remove()
目录的创建和删除
1 def dir_make(): 2 # os.mkdir(r'C:\Users\yx\Desktop\python_make_file') #报错,文件名不符合windows规范,OSError: [WinError 123] 文件名、 3 # 文件路径前加 r 是防止字符转义,防止路径组成特殊符号 # 目录名或卷标语法不正确。: '\u202aC:/Users/yx/Desktop/python_make_file' 4 5 os.mkdir(r'C:\Users\yx\Desktop\python_make_file'.strip('\u202a')) #去掉开头的\u202a,文件夹(目录)创建成功 6 dir_make() 7 8 def dir_remove(): 9 os.rmdir(r'C:\Users\yx\Desktop\python_make_file'.strip('\u202a')) #rmdir()删对应路径的文件夹 10 dir_remove()
查看目录文件列表,查看、更改工作目录
1 def get_dir_list(): 2 dir_list = os.listdir() #listdir()返回目录下的文件列表,默认为当前目录下 3 print(dir_list) 4 get_dir_list() 5 6 def get_cwd(): #current workspace directory -> cwd 当前工作目录 7 cwd = os.getcwd() #返回当前的工作目录路径 8 os.chdir(r'C:\Users\yx\Desktop\python_make_file') #chdir()更改工作目录,更改工作目录后,所有的操作, 9 # 比如创建文件、目录,等等操作都会默认在该目录下进行 10 print(cwd) 11 get_cwd()