python学习-文件处理

 语法一:

 
open('filename')          打开文件的方式1
file('filename','mode')  打开文件的方式2 mode 三种模式:
 
a:append   把输出追加到现在的文件
w:write and replace old one  把当前文件覆盖(慎用这个模式)
r:read,default mode 这个模式相当于cat
################################
练习:
[root@qqdserver python]# python
Python 2.4.3 (#1, Jun 18 2012, 08:55:23) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> open ('passwd')      ## 在当前目录的文件
<open file 'passwd', mode 'r' at 0x2b2caf453120>   默认的都是 read模式
>>> open ('/usr/local/src/python/passwd')   ##读取其他路径的文件
<open file '/usr/local/src/python/passwd', mode 'r' at 0x2b2caf453198>默认的都是 read模式
>>> 
####################
readline 一行行读文件 
readlines 读取全部的文件
################################
 
 
语法二
 
F = file('contact_list.txt','mode')定义文件和以哪种模式处理
while True:
line = F.readline()    #读取一行
if len(line) == 0:break #文件读完,退出,(如果没有这行会无线循环下去)
print line, #打印该行
###############################################################
[root@qqdserver python]# cat read.py 
#!/usr/bin/python
 
fileName = file ('passwd')  
while True:
        line = fileName.readline()
        if len(line) ==0:break
        print 'This line is read by read.py: %s'   % line,   #最后的,是去掉换行的作用。
################################################################
练习实现awk功能
[root@qqdserver python]# awk '{print$1,"haha",$2 }'  test 
111 haha 222
222 haha 333
333 haha 444
444 haha 555
#################
[root@qqdserver python]# ./read.py 
111 haha 222
222 haha 333
333 haha 444
444 haha 555
[root@qqdserver python]# cat read.py 
#!/usr/bin/python
 
fileName = file ('test')
 
while True:
        line = fileName.readline()
        if len(line) == 0:break
        newLine = line.split()
        print  newLine[0],"haha",newLine[1]
#########################################
小程序练习:
[root@qqdserver python]# cat staff_info.txt 
0022    "zhangsan"      13333333333     IT      'IT Specailist'
0032    "fashi"         13444444444     IT      'IT Delvelonter'
12303   "lisi"          13555555555     HR      'new staff trinet'
3243    "xiaobai"       13666666666     JJ      'girl'
....................................................
................................................
.....................................................
要求输入ID号查询到每个员工的信息
[root@qqdserver python]# cat  staff_search.py 
#!/usr/bin/python
 
staff_file = '/usr/local/src/python/staff_info.txt'
 
INPUT = raw_input('please input the staff ID:')
 
f = file(staff_file)
 
while True:
        line = f.readline()
        if len(line) == 0:break
        newLine = line.split()
        if newLine[0] == INPUT:
                print 'Matched info:',line
                break
        else:
                print 'No information matched!'
                break
############################################
刚学习有不对的地方希望大家多指正,谢谢!

你可能感兴趣的:(python)