如何解决“ DeprecationWarning:您将字节串作为`filenames`传递了”?

时间:2019-04-11 05:40:06

标签: python

我有一段代码如下(使用python 2.7.12运行):

self.config = ConfigParser()
self.config.read(self.config_file)

其中self.config_file的类型为string,但是在更复杂的代码(带有py.test的python-selenium)中运行此代码时,出现警告:

DeprecationWarning: You passed a bytestring as `filenames`. This will not work on Python 3. Use `cp.read_file()` or switch to using Unicode strings across the board.
self.config.read(self.config_file)

当尝试创建一个小的代码示例时,我不再收到此警告。

也许有一种简单的方法可以解决此问题?

2 个答案:

答案 0 :(得分:1)

您可以使用decode方法将字节解码为字符串:

self.config.read(self.config_file.decode())

答案 1 :(得分:0)

错误已解决。使用{p>将self.config_file参数更改为unicode

self.config.read(unicode(self.config_file,"utf-8"))