2017-02-11 21 views

回答

0

注意:我发现ConfigParser具有专门用于读取文件句柄的方法。它被称为readfp(self, fp, filename=None)。这可能是一个更好的答案。如果有人应该对这个解决方案感兴趣,我会在下面留下我的旧答案。

您可以使用name属性从文件句柄获取文件名。这可以传递给ConfigParser.SafeConfigParser.read()

小例子只是打印出的文件名:

import click 

@click.command() 
@click.argument('filehandle', type=click.File('rb')) 
def print_filename(filehandle): 
    print "File name: %s" % filehandle.name 

if __name__=="__main__": 
    print_filename() 
+0

我希望针对该文件并不需要打开两次的解决方案。 – orange

+0

我刚才看到'ConfigParser'有一个专门读取文件句柄的方法。它被称为'readfp(self,fp,filename = None)'。它不打开文件,所以它应该工作。 –

相关问题