Python文件

#文件的模式

# '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()

 

 
上一篇:Mac上卸载Java(JDK)


下一篇:二分答案经典入门题:)