2017-02-11 22 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)'。它不打開文件,所以它應該工作。 –

相關問題