Python文件I/O

1、文件打开/关闭

访问模式 说明
r 以只读方式打开,文件指针会放在文件开头,这是默认访问模式
w 以写的方式打开,如已存在文件,则写进的新内容会覆盖本来的文件;若是不存在文件,系统则会新建一个空文件写入
a 以追加方式打开,顾名思义,如文件内有内容,则新写进去的内容会在原来的内容后面追加进去;如文件不存在,系统则会新建一个文件写入
rb 以二进制格式、只读的方式打开,文件指针会放在文件开头,这是默认访问模式
wb 以二进制格式、只写的方式打开,如已存在文件,则新内容会覆盖旧内容;如不存在文件,则新建一个文件
ab 以二进制格式、追加的方式打开,如已存在文件,文件指针会放在文件结尾,

注:用文本模式打开文件,会进行换行符的转换app

用二进制模式打开文件,不会进行换行符的转换(文件拷贝时,用二进制可实现原封不动的拷贝)函数

2、文件操做

 1 # 文件打开
 2 file = open('myfile.txt','w')
 3 write函数一次写一行
 4 file.write('若无若无\n')
 5 # writelines函数一次能够写多行,参数是一个列表,列表中每一个元素占一行
 6 file.writelines(['aaa\n','bbb\n','ccc\n'])
 7 file.close() #文件打开后要关闭,由于会占用系统资源
 8 # 文件读取
 9 file2 = open('file2.txt','r')
10 content = file2.readline()
11 content2 = file2.readline()
12 line = file2.readlines()
13 print(line)
14 # 去掉换行
15 for i in line:
16   if i[-1] == '\n':
17    print(i[:-1])
18   else:
19    print(i)
20 file2.close()
21 
22 # 文件复制(拷贝)
23 old_file = input('请输入要拷贝的文件')
24 new_file = old_file + '.bk'
25 f_old = open(old_file,'rb')
26 f_new = open(new_file,'wb')
27 old_content = f_old.read()
28 f_new.write(old_content)
29 f_old.close()
30 f_new.close()

 

 1 import os
 2 def file_rename():
 3  """文件重命名"""
 4  os.rename('myfile.txt','file1.txt')
 5  
 6 file_rename()
 7 
 8 def file_remove():
 9  os.remove('myfile.txt.bk')#只写文件名,就默认在同级目录下找
10  os.remove('E:\\11.txt')#要加斜杠,'\\'表示'\' 否则会报错
11 file_remove()
1 #建立和删除目录
2 os.mkdir('E:\WEN.txt')
3 os.rmdir('E:\WEN.txt')
4 # 得到指定目录下的文件列表
5 list = os.listdir()
6 print(list)
7 # 得到和设置工q做目录
8 cwd = os.getcwd() #当前目录
9 print(cwd)
1 #修改默认工做路径
2 os.chdir('F:\Apple') #这行代码彷佛要一直保留,不能注释,否则在后面建立新文件夹时会跑到以前的工做路径上创建。这里搞了很久。。。
3 a = os.getcwd()
4 print(a)
5 os.mkdir('bapple')         
相关文章
相关标签/搜索