广东海洋大学 电子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语言程序设计 第四周的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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