这是我的代码,它执行得很好并且符合预期。我的问题是,“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()
请您参考如下方法:
你确实定义了它,你在这里分配给它:
for file_name in file_list:
for循环绑定(bind)名称。
赋值并不是在 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 *创建一系列名称。 - 函数参数;调用函数设置这些名称。
参见 Naming and Binding section Python 执行模型文档。
