语法一:
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
############################################
刚学习有不对的地方希望大家多指正,谢谢!