我是 Python 新手,我正在做一项小任务。dict.get()
在 Python中传递方法中的变量时遇到问题。
这是我正在使用的代码示例:
inputFile = open("Result_table_file.txt")
outputFile = open("Result.txt","w")
file = open("matadata.txt")
from collections import defaultdict
d = defaultdict(dict)
for line in file:
name,values = line.split(':',1)
d[name] = values
for record in inputFile:
recordSplit = record.split(",")
filename = recordSplit[3]
metadataValue = d.get(filename)
print "FileName :" + filename
print metadataValue
print "Record : " + record
输出是:
FileName : Image01.tif
Metadata : None
Record : 100,134423.0,13911111,Image01
这段代码工作正常。唯一的问题是当我将filename
变量传递给metadataValue = d.get(filename)
方法时,它给我的结果为None
.
任何人都可以建议我可能是什么问题以及我该如何解决它。
当我手动创建文件名变量而不是从文件中获取值时,我还发现了另一件事。它工作正常。
例如 :
文件名 = "Image01" d.get(文件名)
我得到了正确的输出,而如果我在读取文件时获得了价值,这件事就不起作用了。
例如
对于 inputFile 中的记录:recordSplit = record.split(",") filename = recordSplit[3] metadataValue = d.get(filename) print "FileName :" + filename print metadataValue print "Record :" + record
任何想法?