'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'writelines'
打开
open('file', 'modes') # file: 支持相对路径或绝对路径 open('a.txt', 'r') # modes: 'r' # 打开只读 (默认) (文件必须存在, 不然会抛出错误) 'w' # 写入,若是文件存在,将其覆盖,文件不存在,建立新文件 'x' # 建立一个新文件并打开它以便编写 'a' # 追加,若是文件存在,内容会被写入到已有内容的后边,文件不存在,则建立新文件 'b' # 二进制模式 't' # 文本模式(默认) '+' # 打开磁盘文件以进行更新(读写) # combination: 'rb' # 以二进制格式打开一个文件,文件指针将会放在文件开头 (默认) 'wb' # 二进制格式打开写入文件,若是文件存在,将其覆盖,文件不存在,建立新文件 'ab' # 视频文件, 图片文件, pdf文件, 音频文件 须要带modes中的b 'r+' # 打开一个文件用于读写 'w+' 'a+' 'rb+' # 以二进制格式打开一个文件用于读写,文件指针将会放在文件的开头 'wb+' 'ab+'
关闭
f = open() f.close() # 关闭
读
f = open() f.read() f.read(2) # 参数: 文件读取的字符数
写
f = open() f.write('write in char') # 参数:写入的字符串 '\n' # 回车换行 '\t' # 横向跳到下一制表符位置 '\r' # 回车
f1 = open() content = f1.read() name = f1.name f2 = open(name[:name.rfind('.')] + '.bak') f2.write(content) f1.close() f2.close()
读取大文件的时候,禁止使用read()
, readline()
, readlines()
方法读取.url
读取小部份内容,屡次读取
f1 = open() while True: content = f1.read(1024) if not content: break
with open()
# 若是文件是基于行的 with open(...) as f: for line in f: process(line)
fileinput处理
import fileinput for line in fileinput.input(['xxx.log']): print line
seek()
:指针偏移量tell()
: 指针所在位置指针
seek(offset, from) offset # 偏移量 (指针移动) from # 方向[0: 文件开头, 1: 当前位置, 2: 文件末尾]
f = open() f.seek(2, 0) f.readline() f.close()
依靠os
内置模块, 完成系统相关操做code
文件重命名
import os os.rename('old_name', 'new_name')
删除文件
import os os.remove('file_name') # file_name 待删除的文件
建立文件夹
import os os.mkdir('folder') # folder 文件夹名字
获取当前目录
import os os.getcdw() # 返回当前文件所在的绝对路径
获取目录列表
import os os.listdir('url') # url 列表路径 os.listdir('./')
删除文件夹
import os os.rmdir('folder') # folder 待删除的文件夹
改变默认目录
import os os.chdir('../') # open() 建立在当前目录下,能够改变默认目录,使建立到其它目录下
方法1:
注意重命名的路径问题视频
import os folder_name = input('input name:') file_names = os.listdir(folder_name) os.chdir(folder_name) # 跳转至指定目录 for name in file_names: _name = name[:name.rfind('.')] + '-tt-' + name[name.rfind('.'):] os.rename(name, _name)
方法2:图片
import os folder_name = input('input name:') file_names = os.listdir(folder_name) for name in file_names: old_file_name = folder_name + '/' + name new_file_name = folder_name + '/' + 'haha' os.rename(old_file_name, new_file_name)