【发布时间】:2014-04-29 11:26:26
【问题描述】:
我是 Python 新手,正在努力理解为什么这个程序
#!/usr/bin/env python
infile = open('/usr/src/scripts/in_file.conf')
outfile = open('/usr/src/scripts/in_file.conf', 'w')
replacements = {'abcd':'ABCD', '1234':'bob'}
for line in infile:
for src, target in replacements.items():
line = line.replace(src, target)
outfile.write(line)
infile.close()
outfile.close()
脚本执行后产生一个空白文件。
原来的in_file.conf是:
testfile of junk
abcd
******************
1234
*************
如果我错了,请纠正我,但我的理解是脚本打开in_file.conf 并将内容加载到内存中的两个临时文件infile 和outfile。字典类型变量replacements 就像一个数组来保存“查找”和“替换”字符串。
它在每一行上循环,然后一个嵌套循环向下行并加载变量 src 和 target 以及替换变量的内容(如数组);然后写行,直到写完所有行。
我的理解还差得远吗?
in_file.conf 和脚本在同一个目录下,会不会只是找不到 in_file.conf 并写入一个空白文件?
我告诉过你我是 python 新手。
亲切的问候,
雷吉。
【问题讨论】: