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