【发布时间】:2016-03-21 23:34:32
【问题描述】:
我有一个功能可以解开一些光谱仪数据,在这里非常简洁地复制:
def loader(filename):
global lister
lister = pd.read_pickle(str(filename) + ".pkl")
该功能可以按我的意愿工作,只是我宁愿只是制表符/完成文件名,而不必在文件扩展名上退格。我不确定为什么我不能将文件名(20160321.pkl)扔到函数本身中。我可以制作显示为“20160321.pkl”的字符串,但为什么我不能制作包含扩展名的制表符完成文件名的字符串,如下所示?
def loader(filename):
global lister
lister = pd.read_pickle(str(filename))
我确信有一个我还没有学会的简单原因。
【问题讨论】:
-
函数怎么调用?
-
通常在解释器中: loader(20160321) 可以工作,因为我稍后会添加 .pkl。 loader(20160321.pkl) 不工作
-
我不确定我是否理解这个问题 - 你是用
loader("20160321")来称呼它吗?您的问题是如何自动计算/组合文件名而无需自己传递日期字符串? -
不完全。将该函数定义为我的第一个代码块,我调用
loader(20160321)并且一切正常。我宁愿打电话给loader(20160321.pkl),就像在第二个代码块中一样;但是,这会引发语法错误。 -
啊,我明白了发生了什么 - 我已经阐明了如何在答案中传递您想要的文件名。
标签: python-2.7 pickle