file_name,如果之前未在我的代码中定义它,它是如何被接受的?

时间:2015-10-05 14:52:14

标签: python

这是我的代码,它按预期执行良好。我的问题是," file_name"即使它没有在代码中先前定义,也不会抛出错误。我确认它不是关键字。

import os

def rename_files():
    file_list = os.listdir(r"C:\\Users\\Abhilash\\Documents\\Udacity\\Prank")
    print file_list
    saved_path = os.getcwd()
    print ("Current Working Directory is "+saved_path)
    os.chdir(r"C:\\Users\\Abhilash\\Documents\\Udacity\\Prank")
    for file_name in file_list:
        os.rename(file_name,file_name.translate(None, "0123456789"))

rename_files()

1 个答案:

答案 0 :(得分:6)

你确定了它,你在这里指定它:

for file_name in file_list:

for循环绑定名称。

分配不是在Python中“定义”名称的唯一方法。其他方式是:

  • 将其用作for <name> in something:循环中的目标,与示例代码一样。
  • with contextmanager as <name>:except Exception as <name>:声明中使用名称作为目标。
  • 导入名称; import <name>from something import <name>import something as <name>都指定了该名称。 from something import *创建了一系列名称。
  • 功能的论点;调用该函数设置这些名称。

请参阅Python执行模型文档的Naming and Binding section