你好我有一个名为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:
我已经尝试了很多方法,但任何人都无法帮助我解决问题
答案 0 :(得分:0)
您似乎正在尝试将字符串转换为整数
只有当你的字符串看起来像整数时才会有用(例如'1'
)。
如果您只想要与每个文件关联的整数值,请使用enumerate
:
docID_list = [i for i, _ in enumerate(os.listdir('/Users/suryavamsi/dict'))]
或者只是:
docID_list = list(range(len(os.listdir('/Users/suryavamsi/dict'))))
您可能希望保留dict
将docID
映射到文件名,在这种情况下,您可以使用词典理解:
docID_list = {i:doc for i, doc in enumerate(os.listdir('/Users/suryavamsi/dict'))}