加载python文件时应为str、bytes或os.PathLike对象,而不是list

2024-09-28 01:22:54 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码: 轻松导入

while True:
    try:
        print('Select your file')
        proxyfile = easygui.fileopenbox('', 'Select your file')
        proxylines = proxyfile.splitlines()
        proxylinesamount = len(open(proxylines).readlines())
        break

    except (TypeError, AttributeError) as e:
        print(f'Error. File isn\'t valid. Reason: {e}')
        continue

出于某种原因,它返回以下错误:

expected str, bytes or os.PathLike object, not list

我知道这是一个打字错误,但我就是不明白我做错了什么


Tags: 代码trueyour错误selectfileprinttry
1条回答
网友
1楼 · 发布于 2024-09-28 01:22:54

我想你想要这个:

import easygui

while True:
    try:
        print('Select your file')
        proxy_file = easygui.fileopenbox('', 'Select your file')  # Type: str
        with open(proxy_file, 'r') as fh:
            proxy_lines = list(fh)
            proxy_lines_amount = len(proxy_lines)
        break  # i'm not sure if while True and break are viable here

    except (TypeError, AttributeError) as e:
        print(f'Error. File isn\'t valid. Reason: {e}')
        continue

相关问题 更多 >

    热门问题