TypeError:需要字符串或缓冲区,找到列表

Rob*_*owe 2 python typeerror

我正在通过学习Python艰难的方式工作,并坚持练习16的额外功劳.我正在尝试阅读我使用主要练习创建的文件16.我写的代码如下:

# pylint: disable-msg=C0103
""" This script reads and prints a file set from the argv """
from sys import argv

filename = argv

txt = open(filename)

print txt.read()
Run Code Online (Sandbox Code Playgroud)

我想读的文件是:

Derp Derp
Reading this file
Will it work?
Run Code Online (Sandbox Code Playgroud)

我收到错误:TypeError:强制转换为Unicode:需要字符串或缓冲区,找到列表但不确定我的文件是如何列表而不是字符串.

dbr*_*dbr 6

要进行调试,请尝试打印 filename

  • 哇谢谢!通过打印文件名,我发现文件名是一个数组,或者我认为Python称之为列表?无论如何,我通过将`filename = argv`更改为`script,filename = argv`完成了解压缩argv,并且一切顺利进行.我很感谢你教我做饭,而不仅仅是喂我. (4认同)