Python 如何使用;加上;改进脚本?

Python 如何使用;加上;改进脚本?,python,with-statement,Python,With Statement,我对python还是相当陌生的,我很难理解“with”语句。我已经读到,它会在完成后关闭文件,所以看起来它可能适合下面的脚本 例如,我最近编写了这个脚本,用于重命名已编号的文件。最后,我没有关闭任何东西,尽管据我所知,脚本运行良好。所以我想我的问题是: 在这种情况下我需要关闭吗 如果是,那么“with”语句是否合适 如果是,我将如何使用它 你从来不打开任何东西,所以没有必要关闭。看到@Barmar哦,真的吗?我想我假设os.rename函数打开了它,但我想它不需要打开,因为我没有实际写入文件?如

我对python还是相当陌生的,我很难理解“with”语句。我已经读到,它会在完成后关闭文件,所以看起来它可能适合下面的脚本

例如,我最近编写了这个脚本,用于重命名已编号的文件。最后,我没有关闭任何东西,尽管据我所知,脚本运行良好。所以我想我的问题是:

  • 在这种情况下我需要关闭吗
  • 如果是,那么“with”语句是否合适
  • 如果是,我将如何使用它

  • 你从来不打开任何东西,所以没有必要关闭。看到@Barmar哦,真的吗?我想我假设os.rename函数打开了它,但我想它不需要打开,因为我没有实际写入文件?如果
    os.rename()
    打开了文件,它也会关闭它。除非函数返回一个file对象供您调用
    close()
    ,否则您不必担心它。@GordonAitchJay我会尝试一下,谢谢!这应该也适用于新的_名称,对吗?像
    new\u name=os.path.join(src\u dir,filename[-6:])
    你从来不打开任何东西,所以不需要关闭。真的看到@Barmar Oh了吗?我想我假设os.rename函数打开了它,但我想它不需要打开,因为我没有实际写入文件?如果
    os.rename()
    打开了文件,它也会关闭它。除非函数返回一个file对象供您调用
    close()
    ,否则您不必担心它。@GordonAitchJay我会尝试一下,谢谢!这应该也适用于新的_名称,对吗?比如
    new\u name=os.path.join(src\u dir,文件名[-6:])
    import os
    def main():
    
        src_dir = r"\\yolo-gisport01\D$\AssessorMaps\049"
    
        for filename in os.listdir(src_dir):
    
            if (len(filename) == 9):
                if filename[0] == "0":
    
                    #create the full original file path as a variable to be used in the os.rename function
                    src = src_dir + "\\" + filename
    
                    #create the full new file path as a variable to be used in the os.rename function
                    new_name = src_dir + "\\" + filename[-6:]
    
                    # rename() function will take src (full file path) and rename new_name (full file path)
                    os.rename(src, new_name)
    
    
    
    # Driver Code
    if __name__ == '__main__':
    
        # Calling main() function
        main()