python文件处理

这篇博客详细探讨了Python中如何进行文件处理,包括打开、读取、写入和关闭文件等核心操作,是初学者掌握Python文件操作的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章主要是介绍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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值