Python TypeError:不能在路径组件中混合字符串和字节

2024-05-19 14:32:11 发布

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

以下代码:

import os

directory_in_str = 'C:\\Work\\Test\\'
directory = os.fsencode(directory_in_str)

for file in os.listdir(directory):
    filename = os.fsdecode(file)
    if filename.lower().endswith(".xml"):
        with open(os.path.join(directory, filename), 'r') as handle:
            for line in handle:
                print(line)
    else:
        continue

给我这个错误:

Traceback (most recent call last):
  File "c:\Work\balance_search2.py", line 9, in <module>
    with open(os.path.join(directory, filename), 'r') as handle:
  File "C:\ProgramData\Anaconda3\lib\ntpath.py", line 114, in join
    genericpath._check_arg_types('join', path, *paths)
  File "C:\ProgramData\Anaconda3\lib\genericpath.py", line 151, in _check_arg_types
    raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components

有人能帮我修一下吗。


Tags: pathinpyforoswithlinefilename