学习一门语言,最快上手的捷径就是要尝试去使用和时刻总结。
Python是一门非常优雅的脚本语言,写出来的代码排版十分的清晰整洁,而且功能很强大,估计唯一的缺陷就是效率了,这个是所有的脚本语言的通病。
最近用Python做了一个小的项目,进行文本解析,其中涉及到的知识点比较多,在写代码的过程中戳中鄙人诸多“盲区”,所以不断的查资料,上网搜索方案,最终圆满完成任务。我不是一个记忆力特别好的人,怕忘了之前查找过的零碎的知识点,只能都不加甄别的写到blog里了。
一、强大的文件操作
Python的文件操作强大的一塌糊涂。比起C/C++,Python对于文件的读写操作机会可以达到随心所欲。模拟C/C++,可以写出最中规中矩的代码,如:
file = open(r'd:\1.txt', 'r')
lines = file.readlines() # 读出所有的行
file.seek(0,0) #文件指针转移到文件起始位置
line = file.readline() # 读出一列
file.seek(0,0) #文件指针转移到文件起始位置
bytes = file.read() #将文件中的所有内容读取出来
file.close() # 关闭文件
也可以将这些语句简写:
lines = open(r'd:\1.txt', 'r').readlines()
line = open(r'd:\1.txt', 'r').readline()
bytes = open(r'd:\1.txt', 'r').read()
可以用file类代替内建函数open:
filePt = file(r'd:\1.txt', 'r')
filePt.readlines()
当然同样支持简写:
lines = file(r'd:\1.txt','r').readlines()
可以对文件读取的内容进行递归操作。如:
for i open(r'd:\1.txt','r').readlines():
print i
还可以使用文件的迭代器:
import fileinput
for i in fileinput(r'd:\1.txt'):
print i
诸如此类。
二、便利的文件和目录的管理
对单个文件的操作(只列一部分):
- 文件删除:os.remove(r'd:\1.txt')
- 文件重命名:os.rename(r'd:\1.txt', r'd:\2.txt')
- 路径管理:os.path模块(os.path.join/os.path.split/os.path.splitext/os.path.basename/os.path.dirname)
主要是借用os.walk函数,这个函数的具体的功能介绍和使用说明,请查阅Python文档或者网上资料,这里仅举一个例子,说明它的一种用法:
import os, os.path
'''打印某个文件夹下的所有文件的完整路径名'''
def Traverse(path):
for (root, subPackets, subFiles) in os.walk(path):
for filename in subFiles:
print os.path.join(root, filename)