为了让这行代码正常工作,无论我如何更改格式,我都会遇到问题:
if not os.path.exists(os.path.join(IncludeSettings.FILE_URL, [str(x) for x in [year, month, day]])):
(year, month, day) 可以是整数或字符串。
回溯:
Traceback (most recent call last):
File "/home/tinyup/dev/lib/python2.7/site-packages/pyramid_debugtoolbar-1.0.3-py2.7.egg/pyramid_debugtoolbar/toolbar.py", line 117, in toolbar_tween
response = _handler(request)
File "/home/tinyup/dev/lib/python2.7/site-packages/pyramid_debugtoolbar-1.0.3-py2.7.egg/pyramid_debugtoolbar/panels/performance.py", line 55, in resource_timer_handler
result = handler(request)
File "/home/tinyup/dev/lib/python2.7/site-packages/pyramid-1.4a3-py2.7.egg/pyramid/tweens.py", line 20, in excview_tween
response = handler(request)
File "/home/tinyup/dev/lib/python2.7/site-packages/pyramid-1.4a3-py2.7.egg/pyramid/router.py", line 161, in handle_request
response = view_callable(context, request)
File "/home/tinyup/dev/lib/python2.7/site-packages/pyramid-1.4a3-py2.7.egg/pyramid/config/views.py", line 342, in rendered_view
result = view(context, request)
File "/home/tinyup/dev/lib/python2.7/site-packages/pyramid-1.4a3-py2.7.egg/pyramid/config/views.py", line 456, in _class_requestonly_view
response = getattr(inst, attr)()
File "/home/tinyup/dev/tinyuploads/tinyuploads/views/share.py", line 56, in view_process
return self.handle_file_upload(self.request.params['file'], shareID)
File "/home/tinyup/dev/tinyuploads/tinyuploads/views/share.py", line 101, in handle_file_upload
self.save(file, newFileName, isImage, uploadTime)
File "/home/tinyup/dev/tinyuploads/tinyuploads/views/share.py", line 166, in save
if not os.path.exists(os.path.join(IncludeSettings.FILE_URL, [str(x) for x in [year, month, day]])):
File "/home/tinyup/dev/lib/python2.7/posixpath.py", line 66, in join
if b.startswith('/'):
AttributeError: 'list' object has no attribute 'startswith'
最佳答案
你在这里错过了'*':
>>> os.path.join('foo', *['a','b'])
'foo/a/b'
为了将列表项作为解压缩的变量参数列表传递给方法,您必须在此处使用星号运算符。
关于python - 让 os.path.join 与生成器一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927122/