Python入门篇-文件操作

                                      作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.文件IO常用操作

    open:打开
    read:读取
    write:写入
    close:关闭
    readline:行读取
    readlines:多行读取
    seek:文件指针操作
    tell:指针位置

 

二.基本操作

1>.打开操作

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 #@author :yinzhengjie
 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
 5 #EMAIL:y1053419035@qq.com
 6 
 7 """
 8 open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
 9     打开一个文件,返回一个文件(流对象)和文件描述符。打开文件失败,则返回异常。
10 
11 """
12 
13 f = open("passwd")        #file对象,默认以只读方式打开文件,该文件必须存在,否则会抛出"FileNotFoundError"异常
14 print(f.read())           #d读取文件
15 f.close()                 #关闭文件
16 
17 
18 
19 #"passwd"文件内容如下:
20 root:x:0:0:root:/root:/bin/bash
21 bin:x:1:1:bin:/bin:/sbin/nologin
22 daemon:x:2:2:daemon:/sbin:/sbin/nologin
23 adm:x:3:4:adm:/var/adm:/sbin/nologin
24 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
25 sync:x:5:0:sync:/sbin:/bin/sync
26 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
27 halt:x:7:0:halt:/sbin:/sbin/halt
28 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
29 operator:x:11:0:operator:/root:/sbin/nologin
30 games:x:12:100:games:/usr/games:/sbin/nologin
31 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
32 nobody:x:99:99:Nobody:/:/sbin/nologin
33 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
34 dbus:x:81:81:System message bus:/:/sbin/nologin
35 polkitd:x:999:998:User for polkitd:/:/sbin/nologin
36 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
37 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
38 chrony:x:998:996::/var/lib/chrony:/sbin/nologin
39 yinzhengjie:x:1000:1002:yinzhengjie:/home/yinzhengjie:/bin/bash
40 apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
41 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
42 zabbix:x:997:995:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
43 mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
44 python:x:1001:1001::/home/python:/bin/bash

2>.mode模式

描述字符                              意义
  r 缺省的(即如果没有指定mode模式,则默认以只读方式打开),表示只读打开,如果使用write方法,会抛异常。如果文件不存在,抛出"FileNotFoundError"异常。   w 只写打开,如果文件不存在直接创建,如果文件已经存在,则清空文件内容,如果读取则抛出异常。   x 创建并写入一个新文件,文件不存在,创建文件,并只写方式打开。   a 写入打开,如果文件存在,则追加。文件存在,只写打开,追加内容,文件不存在,则创建后,只写打开,追加内容。   b 二进制模式,字节流,将文件就按照字节理解,与字符编码无关。二进制模式操作时,字节操作使用bytes类型。   t 缺省的文本模式。字符流,将文件的字节按照某种字符编码理解,按照字符操作,open的默认mode就是rt。   
+ 读写打开一个文件,给原来只读,只写方式打开提供缺省的读或者写能力。主要为r,w,a,x提供缺省的读写能力,但是文件获取依旧依照按照r,w,a,x字节的特征,+不能单独使用,可以任务它是为前面的模式字符做增强功能的。
#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com

"""
    文件操作中,最常用的操作就是读和写。
    文件访问的模式有两种:文本模式和二进制模式。不同模式下,操作函数不尽相同,表现的结果也不一样。
    打开或者要创建文件名。如果不指定路径,默认就是当前路径

"""

f = open("passwd")            #file对象,默认以只读方式打开文件,该文件必须存在,否则会抛出"FileNotFoundError"异常
print(f.readline())           #d读取文件
f.close()                     #关闭文件


print("*" * 20 + "我是分割线" + "*" * 20)

f = open("passwd","r")
f.write("abc")              #这里会抛异常"io.UnsupportedOperation: not writable",因为我们是以只读方式打开,但是我们这里要进行写操作是不被允许的!
f.close()
r模式打开文件

相关文章: