你好,我有一个名称为 dict 的文件夹,该文件夹包含 4 到 6 个文本文件,现在我想为文件夹中的每个文本文件分配一个 ID docID,我使用了下面的代码
docID_list = [int(docID_string) for docID_string in os.listdir('/Users/suryavamsi/dict')]
我有一个错误
invalid literal for int() with base 10:
我已经尝试了很多方法,但无法破解它,任何人都可以帮助我
看起来您正在尝试将字符串转换为整数。
这只有在您的字符串看起来像整数时才有效(例如 '1'
(。
如果只想与每个文件关联一个整数值,请使用 enumerate
:
docID_list = [i for i, _ in enumerate(os.listdir('/Users/suryavamsi/dict'))]
或者只是:
docID_list = list(range(len(os.listdir('/Users/suryavamsi/dict'))))
您可能希望保留一个将docID
映射到文件名的dict
,在这种情况下,您可以使用字典理解:
docID_list = {i:doc for i, doc in enumerate(os.listdir('/Users/suryavamsi/dict'))}