我的目标是获取名称以ext
中任何项目结尾的文件。我有以下代码:
ext=["n.log",".shm","rage"]
for filename1 in os.listdir(os.getcwd()):
if filename1.endswith(tuple(ext)):
src=os.getcwd()+'/'+filename1
irun_log=os.path.basename(src)
使用Python 2.4运行此代码,出现以下错误:
Traceback (most recent call last):
File "./compile", line 141, in ?
if filename1.endswith(tuple(ext)):
TypeError: expected a character buffer object
感谢您提供任何帮助解决此问题的方法。
最佳答案
在Python 2.5中将字符串元组传递到str.endswith()
的功能是introduced:
str.endswith(后缀[,开始[,结束]])
如果字符串以指定的后缀结尾,则返回True
,否则返回False
。后缀也可以是要查找的后缀元组。使用可选的启动,从该位置开始测试。在可选端,停止在该位置进行比较。
在版本2.5中更改:接受元组作为后缀。