ReplaceStrBatch
作用:
批量将指定目录下的所有文件中的$HADOOP_HOME$替换成/home/ocetl/app/hadoop
知识点:
1. def listFiles(dirPath):
定义函数
2. fileList=[]
声明数组
3. for root,dirs,files in os.walk(dirPath):
os.walk("")
返回一个三元组,遍历的路径、当前遍历路径下的目录、当前遍历目录下的文件名
4. os. path.join(root,fileObj)
directory = ["C", "pic", "18x.jpg"]
os.path.join(*directory) #相当于os.path.join("C", "pic", "18x.jpg")
5. regex = ur'FUNC_SYS_ADD_ACCDETAIL'
regex=ur"
" #正则表达式
本例中不加这个正则,不影响运行结果
6. f = open(fileObj,'r+')
r+: 可读可写,若文件不存在,报错
w+: 可读可写,若文件不存在,创建
7. all_the_lines=f.readlines()
.readlines()每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型
7. f.seek(0)
seek()函数回到文件头部,因为迭代器已经访问完了文件的所有行
8. f.truncate()
清空文件内容
仅当以 "r+" "rb+" "w" "wb" "wb+"等以可写模式打开的文件才可以执行该功能
9. if __name__=='__main__':
在if __name__ == "__main__":之后的语句作为模块被调用的时候,语句之后的代码不执行;
直接使用的时候,语句之后的代码执行。通常,此语句用于模块测试中使用