python自学笔记(4)--Python文件对象、os模块及pickle
来源:互联网 发布:数据库安全性认识 编辑:程序博客网 时间:2024/06/07 07:11
python自学笔记(4)--Python文件对象、os模块及pickle
Python内置函数open()用于打开和创建文件。Open函数有三个参数:文件名,打开模式(r只读,w写入,a附加,即从文件尾部附加,模式后面附加“+”表示同时支持输入和输出;模式后加“b”表示用二进制方式打开)和缓冲区参数(定义输出缓存,0表示无缓冲,1表示使用缓冲,负数表示操作系统默认缓冲大小)
p.s.若文件不存在,此时以读方式打开会报错,以写模式或附加模式打开会自动创建文件。使用next的迭代的方式不会移动文件指针,使用readline或readlines会移动文件指针。
'''test.txt原始文件为下面三行文字he decided on roast chicken and vegetables,withapple pie to follow.运行最后的结果是5行文字:he decided on roast chicken and vegetables,withapple pie to follow.write something.write one line.'''f = open('test.txt','rt+')print(f.read(5))#he de读取5个字符print(repr(f.readline()))#'cided on roast chicken and vegetables,\n'第一行的余下部分,包含最后的换行符c = f.tell();print(c)#45print(f.readlines())#['with\n', 'apple pie to follow.']游标在read时会向后移动f.seek(c)#将游标移动到readlines之前 , 在文本文件中,没有使用b模式选项打开的文件,只允许从文件头开始计算相对位置,从文件尾计算时就会引发异常。print(f.__next__())#'with\n'print(f.__next__())#'apple pie to follow.this is writing text.'next后直接调用tell会报错,原因是next函数找那个会置一个_telling标志位为false,而tell中会判断这个标志位。print(f.readlines())#[]print(f.tell())#表明游标cursor位置为71f.write('\n')#写操作同样会让cursor后移print(f.tell())#表明游标cursor位置为73f.write('write something.\n')f.writelines('write one line.')f.flush()f.close()
seek方法说明如下:
seek(offset,whence=0)offset:开始的偏移量,也就是代表需要移动偏移的字节数whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。默认为0 在文本文件中,没有使用b模式选项打开的文件,只允许从文件头开始计算相对位置,从文件尾计算时就会引发异常。
f.truncate(f.tell())#截断文件从文件开始到文件指针所在位置。
f.softspace 为0时写入时不会自动加空格,为1时自动加空格
f.mode 读写模式
import ospath = os.getcwd()#获取当前工作路径os.mkdir(path + '//'+ "ddd")#创建一个单级目录os.chdir("D://")#相当于cd命令os.listdir(path)#列出制定目录下的所有文件名os.makedirs(path + '//' + 'hahahrroa'+ '//' + 'ee'+ '//' + 'ee')#创建多级的(含单级)目录os.rmdir(path + '//'+ "ddd") #删除一个目录os.removedirs(path + '//' + 'hahahrroa'+ '//' + 'ee'+ '//' + 'ee')#删除多级目录
文件: os.mkfifo()#创建管道 os.mknod()#创建设备文件 os.remove()#用来删除文件 os.unlink()用来删除文件 os.rename()重命名文件 os.stat()返回文件状态信息 os.symlink()创建一个文件链接 os.utime()更新时间戳 os.tmpfile()创建并打开一个新的临时文件 os.walk()遍历目录下的文件目录访问权限: os.access()判定某一用户对指定目录是否有权限 os.chmod()修改目录或文件的权限 os.chmod(path, 0o0777) os.chown() os.umask()设置默认权限模式文件: open() read() write() 设备文件: mkdev()创建设备 major()从指定设备的 minor() os.path: 跟文件路径相关 basename():路径基名 dirname():路径目录名 join():将多个离散的基名和路径名连接起来 split():返回dirname和basename的元组 信息: getatime(): getctime(): getmtime(): getsize():返回文件大小 查询: exists():判断指定文件是否存在 isabs():判断指定的路径是否为绝对路径 isfile():是否为文件 isdir():是否为路径 islink():是否符号链接 ismount():是否为挂载点 samefile():两个路径是否指向同一个文件
pickle(与JSON不同的是pickle不是用于多种语言间的数据传输,它仅作为python对象的持久化或者python程序间进行互相传输对象的方法,因此它支持了python所有的数据类型。)在编程时可以将一些大数据的字典通过pickle写入到文件中,这样可以减少代码文件的大小,使得程序更加的优雅。
import osimport pickled1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6};path = os.getcwd();f1 = open(path + '//' + 'text.txt', 'wb+')#此处必须是wb,否则会报错,pickle默认是以二进制来进行读取的pickle.dump(d1, f1)#讲字典数据写入到text.txt中,将字典数据倒入泡菜缸中f1.flush()f1.close()f6 = open(path + '//' + 'text.txt', 'rb')#此处必须有rb,否则报错d2 = pickle.load(f6)# 从text.txt中读取数据到字典中print(d2)#{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
阅读全文
0 0
- python自学笔记(4)--Python文件对象、os模块及pickle
- [笔记]python pickle模块
- Python pickle模块学习笔记
- python笔记:pickle、cPickle模块
- 【python】pickle模块(泡菜)
- python模块 - pickle模块
- 【转】Python之Pickle模块(持久化对象存储)
- pickle, cPickle 模块:序列化 Python 对象
- Python持久化管理pickle模块 笔记
- Python学习笔记(Python OS模块)
- python os模块笔记
- python-pickle模块
- Python pickle模块学习
- pickle模块, python
- 【Python】pickle模块
- python pickle模块学习
- python pickle模块
- Python pickle模块学习
- 【java】安装Eclipse报错“ Failed to load the JNI shared library”
- 悟空问答拿10亿元贴补答主,内容创作者如何分到一杯羹?
- python系统编程2:线程
- Linux set命令参数及与env, export的区别
- Spring4.2.4 + Mybatis 3.4.5 整合成web项目
- python自学笔记(4)--Python文件对象、os模块及pickle
- 块匹配算法
- tar包jar包和war包
- 华为路由器nat
- react的基础搭建
- 双11黑科技,阿里百万级服务器自动化运维系统StarAgent揭秘
- 如何使用Vegas进行调音?
- Codeforces Round #449 (Div. 1) C. Willem, Chtholly and Seniorious
- 命令模式