您的位置:首页 > 编程语言 > Python开发

python文件处理

2016-06-08 16:13 435 查看
这篇文章主要是介绍python的对于文件的处理

#次函数不能单独运行,大家只需看用法即可
def _updateShellClass(jsClass, cppDir, srcRelativePath):
className = jsClass.className
if 0 == len(className):
return

bindingClassName = className + "_ScriptClass"

#此处是连接路径
shellImplPath = os.path.join(cppDir, "../Shell/ShellClasses.cpp")

#--delete Create Binding Class & Static Variables and Static Methods
cbcString = gSpaceTab + gSpaceTab + "pClass = new " + bindingClassName
#Create Binding Class.
curString = gClassCreateTemplate.replace(gBindingClassName, bindingClassName)
curString += gCrossNamaspaceDefine
curString = curString.replace(gJSClassName, jsClass.className)
#Static Variables and Static Methods.
for curVariable in jsClass.staticVariables:
curString += gStaticDefine0.replace(gJSClassName, jsClass.className)
curString = curString.replace(gVariableName, curVariable.name)
for curMethod in jsClass.staticMethods:
curString += gStaticDefine1.replace(gJSClassName, jsClass.className)
curString = curString.replace(gMethodName, curMethod.name)
for curVariable in jsClass.enumVariables:
curString += gStaticDefine2.replace(gJSClassName, jsClass.className)
curString = curString.replace(gVariableName, curVariable.name)

#-readFile读取文件,读到一个类似列表的东西上,不会说连接成一个字符串
fileObject = open(shellImplPath, "r")
fileLines = fileObject.readlines()
fileObject.close()

curBegin = False
deleteLines1 = []
for index in range(len(fileLines)):
if curBegin:
deleteLines1.append(index)
if not fileLines[index].strip():
break
else:
if fileLines[index].find(cbcString) != -1:
deleteLines1.append(index)
curBegin = True
insertNum1 = deleteLines1[0]
#这里是删除文件中从第几行到第几行的内容
del fileLines[deleteLines1[0]:deleteLines1[-1]]
#在文件的某一行添加空行
fileLines.insert(insertNum1, "\n")
#在某一行添加内容
fileLines[insertNum1] = curString

#--delete ScriptClass and Binding Function
scbfString = "//" + bindingClassName
scbfBegin = False

resultString1 = ""
resultString1 = _getScriptClassImpl(jsClass)
#print resultString1

deleteLines = []
for index in range(len(fileLines)):
if scbfBegin:
deleteLines.append(index)
if fileLines[index][0] == "}":
deleteLines.append(index + 1)
scbfBegin = False
else:
if fileLines[index].find(scbfString) != -1:
deleteLines.append(index)
scbfBegin = True
insertNum = deleteLines[0]
del fileLines[deleteLines[0]:deleteLines[-1]]
fileLines[insertNum] = resultString1

fileObject = open(shellImplPath, "w")
fileObject.writelines(fileLines)
fileObject.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python file