博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python_文件操作
阅读量:6495 次
发布时间:2019-06-24

本文共 2466 字,大约阅读时间需要 8 分钟。

opening and closeing

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

reading and writing

f = open()f.read()f.read(2) # 参数: 文件读取的字符数
f = open()f.write('write in char') # 参数:写入的字符串'\n' # 回车换行'\t' # 横向跳到下一制表符位置'\r' # 回车

copy

f1 = open()content = f1.read()name = f1.namef2 = open(name[:name.rfind('.')] + '.bak')f2.write(content)f1.close()f2.close()

大文件处理方式

读取大文件的时候,禁止使用read(), readline(), readlines()方法读取.

读取小部分内容,多次读取
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 fileinputfor 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内置模块, 完成系统相关操作

文件重命名
import osos.rename('old_name', 'new_name')
删除文件
import osos.remove('file_name') # file_name 待删除的文件
创建文件夹
import osos.mkdir('folder') # folder 文件夹名字
获取当前目录
import osos.getcdw() # 返回当前文件所在的绝对路径
获取目录列表
import osos.listdir('url') # url 列表路径os.listdir('./')
删除文件夹
import osos.rmdir('folder') # folder 待删除的文件夹
改变默认目录
import osos.chdir('../')# open() 创建在当前目录下,可以改变默认目录,使创建到其它目录下

批量重命名

方法1:

注意重命名的路径问题

import osfolder_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 osfolder_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)

转载地址:http://jouyo.baihongyu.com/

你可能感兴趣的文章
【C/C++和指针】printf 的那些事
查看>>
VMware(Plus 1)
查看>>
DOS和DDOS你知道多少?
查看>>
2013计算机视觉代码合集
查看>>
在vue中如何实现购物车checkbox的三级联动
查看>>
数据库常用语句
查看>>
Python_爬虫1
查看>>
智能指针
查看>>
hibernate 检索策略
查看>>
shell小脚本--从laod博客更新hosts文件
查看>>
winform登录窗体加载等待图片
查看>>
eclipse配置
查看>>
转:Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
查看>>
NSArray block用法
查看>>
ios input框无法输入问题
查看>>
Owncloud-X安装配置
查看>>
OCA读书笔记(16) - 执行数据库恢复
查看>>
jmeter测试TCP服务器/模拟发送TCP请求 设置16进制发送(转)
查看>>
时代亿信 安全保密邮件产品
查看>>
Python自学笔记-递归函数(来自廖雪峰的官网Python3)
查看>>