广东海洋大学 电子1151 孔yanfei python语言程序设计 第四周

Posted sinat_32097435

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了广东海洋大学 电子1151 孔yanfei python语言程序设计 第四周相关的知识,希望对你有一定的参考价值。

I, 基本操作
1, 打开

fh=open('filename', 'r')

fh是打开文件的handle,每一个被打开的文件都应该退出时关闭(除了handle没有赋给变量的文件,如open(‘filename’)。
参数:
r 只读
rU 忽略不同的换行符格式的只读打开
rb 以二进制格式只读打开
w 写
wb 以二进制写打开

2,读写

# 读取全部内容
text=fh.read()
# 读取100个字节
text=fh.read(100)
# 按行读取
text=fh.readlines()
# seek
fh.seek(100)
# 写
fh.write(text)

3,关闭

fh.close()

因为python支持错误处理,所以一般对文件的操作写成下面的形式:

fh=open('filename')
try:
    for line in fh:
        precess line
finally:
    fh.close()

4, 对文件中的每一行进行处理

# case 1
fh=open('filename')
for line in fh:
    print(line)
fh.close()

# case 2
fh=open('filename')
lines=fh.readline()
for line in lines:
    print(line)
fh.close()

更进一步,对每一行的每一个word进行处理

fh=open('filename')
lines=fh.readline()
for line in lines:
    for word in line:
        print(line)
fh.close()

5, 替换文件中的某个字符

fin = open('filein', r)
fout = open('fileout', w)
for s in fin:
    fout.write(s.replace('oldstring', 'newstring')
fout.close()
fin.close()

II, os.path介绍
操作文件,免不了要对路径,目录名,文件名进行处理。python提供了path的模块,帮助处理这类事务。可以在python中使用help(os.path)查看详细帮助。
1, 目录遍历
os.walk()
os.walk()函数返回一个三元组,依次为父目录名,目录名,文件名,他们之间以逗号分割。假设当前目录的目录结构如下:

.
├── fstab
├── mybackup.py
└── sampledir
├── 1
├── 2
└── 3

则os.walk(‘.’)返回如下:

('.', ['sampledir'], ['fstab', 'mybackup.py'])
('./sampledir', ['1', '2', '3'], [])
('./sampledir/1', [], [])
('./sampledir/2', [], [])
('./sampledir/3', [], [])

2,路径,目录名,文件名处理

# 将路径名以最后一个/分割,返回一个二元组,如/etc/fstab被划分为/etc/, fstab
os.path.split(path)
# 将路径名划分为盘符和其他,如'C:/windows'被划分为C和windows
os.path.splitdrive(path)
# 将路径名划分为扩展名和其他,如d:/sample.txt被划分为d:/sample和txt。
os.path.spltext(path)
# 将两个路径连接,如'sdir'和'sfile'连接成'sdir/sfile'
os.path.join(path1,path2)
# 返回绝对路径
os.path.abspath(path)
# 返回目录名
os.path.dirname(path)
# 返回文件名
os.path.basename(path)
# 返回真实路径,即通过link找到真实的文件路径
os.path.realpath(path)

III, zipfile介绍
python提供了直接对zip文件的读写。

import zipfile
z = zipfile.ZipFile("zipfile.zip", "r")
for filename in z.namelist( ):
print 'File:', filename,
bytes = z.read(filename)
print 'has', len(bytes), 'bytes'

详细信息请help(zipfile)

IV, shutil介绍
shutil是用于复制及打包文件/目录的模块。

copyfile(src,dst)
copytree(src, dst, symlinks=False, ignore=None)
move(src,dst)
make_archive()

V, stat介绍

import os
import stat
filestat = os.stat('text.txt')

以上是关于广东海洋大学 电子1151 孔yanfei python语言程序设计 第四周的主要内容,如果未能解决你的问题,请参考以下文章