gpt4 book ai didi

python-3.4 - 如何克服 Python 3.4 NameError : name 'basestring' is not defined

转载 作者:行者123 更新时间:2023-12-01 03:46:59 27 4
gpt4 key购买 nike

我在本地目录中的 test.py 旁边有一个名为 hello.txt 的文件,其中包含以下 Python 3.4 代码:

import easywebdav
webdav = easywebdav.connect('192.168.1.6', username='myUser', password='myPasswd', protocol='http', port=80)
srcDir = "myDir"
webdav.mkdir(srcDir)
webdav.upload("hello.txt", srcDir)

当我运行它时,我得到了这个:
Traceback (most recent call last):
File "./test.py", line 196, in <module>
webdav.upload("hello.txt", srcDir)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/easywebdav/client.py", line 153, in upload
if isinstance(local_path_or_fileobj, basestring):
NameError: name 'basestring' is not defined

谷歌搜索这会导致几次点击,所有这些都是 point相同的修复,如果路径将来移动,将包括“导入类型之后”:
try:
unicode = unicode
except NameError:
# 'unicode' is undefined, must be Python 3
str = str
unicode = str
bytes = bytes
basestring = (str,bytes)
else:
# 'unicode' exists, must be Python 2
str = str
unicode = unicode
bytes = str
basestring = basestring

我没有使用导入类型,但是否包含它在 PyDev 中似乎没有什么不同 - 无论哪种方式我都会收到错误。导致错误的行是:
unicode = unicode

说,' undefined variable '。

好吧,我的 Python 知识在这一点上摇摇欲坠,我在这个网站上寻找了类似的帖子,但没有找到一个足够具体的 basestring,我理解可以提供帮助。我知道我需要指定 basestring,但我不知道如何指定。有没有人足够慈善来为我指明正确的方向?

最佳答案

您可以更改 easywebdav 的 client.py 文件,就像此 checkin 中的前两个更改:https://github.com/hhaderer/easywebdav/commit/983ced508751788434c97b43586a68101eaee67b

更改包括替换 basestring来自 str在 client.py 中。

关于python-3.4 - 如何克服 Python 3.4 NameError : name 'basestring' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26130644/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com