TypeError:应为字符串或类似字节的对象,可在服务器上工作,但不能在PC上运行

2024-04-25 06:48:16 发布

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

简介

我对用python3.4.2编写的python程序有问题。一开始我想说,这不是我的计划。
当我通过SSH连接服务器并编译它时,它工作得很好。在

服务器和PC规格

enter image description here

…从我的电脑:
enter image description here
我有不同的Python版本,但是我不能在3.4.2编译它,因为我需要的这个特定版本没有类型模块。我不知道GCC版本是否会导致这个问题,但我尝试过不同的版本。

我已经下载了它,并试图自己编译它。我用完全相同的方法运行它。

真正的问题

   Traceback (most recent call last):
  File "gads.py", line 28, in <module>
    lists = list_working.ListWorking(files_data)
  File "/home/grzesiek/googleads/lib/list_working.py", line 43, in __init__
    self._acc = self._split_str_list(list_data['accepted']['content'])
  File "/home/grzesiek/googleads/lib/common.py", line 69, in _split_str_list
    splited = re.split(separator, content)
  File "/usr/local/lib/python3.5/re.py", line 203, in split
    return _compile(pattern, flags).split(string, maxsplit)
TypeError: expected string or bytes-like object

到目前为止,我知道ListWorking(files_data)传递一些属于字典的文件,最后当我想使用regex时,它会抛出一个错误。但我不能将这些字典更改为字符串或列表,因为这样它会进行编译,但会删除我提供给ListWorking()


以下是我尝试更改的代码片段:

^{pr2}$

最后一个错误发生的地方:

def _split_str_list(content: str, separator: str = '\n') -> list:
    """Split string to list"""
    splited = re.split(separator, content)
    splited = list(x.strip() for x in splited)
    splited = list(filter(None, splited))
    return splited

另外,在python3.4.2中,它会出现import typing并抛出一个错误,因为在这个版本的Python中没有类型库。

那么-怎么可能在Linux服务器上正常工作,但在我的电脑上却不行呢?


Tags: inpy版本re服务器datalibline
1条回答
网友
1楼 · 发布于 2024-04-25 06:48:16

答案比我想象的要简单得多。。。 我只需要安装正确版本的enca,如果有遗漏,代码编写者没有编写具体的信息,所以很难找到,因为整个项目大约有5000行代码,而enca只由一个函数使用。
它与Linux或GCC无关。

相关问题 更多 >