大家好,可以提供帮助! 下面的Python脚本给出了以下错误
File "/var/www/lighttpd/example.com/CloudMining/cloudmining/lib/dirmap.py", line 104, in __getattr__
return self._read(name)
File "/var/www/lighttpd/example.com/CloudMining/cloudmining/lib/dirmap.py", line 81, in _read
raise AttributeError('No file named ' + name)
AttributeError: No file named public
问题在于将配置与此脚本相关联将PUBLIC定义为目录,而不是文件!
pub_dir = os.path.join(path, './public')
if os.path.exists(pub_dir):
self.set_public_dir(pub_dir)
但下面的脚本将PUBLIC读作文件 - 并给出错误。 脚本的所有其他问题都可以,它理解结构,它以
之类的格式打开文件app.add_stylesheets('/public/custom.css')
所以所有相对路径都在工作。 但是下面的代码包含将./public目录读为FILE而不是目录的错误。
将有义务尝试纠正错误 - 我甚至找不到错误。
“有问题”的行(根据调试)是98-104(大约)
def __getattr__(self, name):
if self._cache is not None:
if name not in self._cache:
self._cache[name] = self._read(name)
return self._cache[name]
else:
return self._read(name)
和65-81(大约) - 大部分都是这些行调用错误
def _read(self, name, reader=None):
kind, path = self._lookup(name)
if kind == 'dir':
if path not in self._sub_dirs:
self._sub_dirs[path] = DirectoryMapper(path,
cache=self._cache is not None, readers=self._readers)
return self._sub_dirs[path]
elif kind == 'file':
if not reader:
ext = os.path.splitext(path)[-1]
if ext in self._readers:
reader = self._readers[ext]
else:
reader = self._readers.get('*', file_reader)
return reader(path, **reader.func_dict.get('keywords', {}))
else:
raise AttributeError('No file named ' + name)
完整脚本可用here
答案 0 :(得分:0)
问题在于将配置与此脚本相关联将PUBLIC定义为目录,而不是文件!
但下面的脚本将PUBLIC读作文件 - 并给出错误。
嗯,你的代码给出了属性错误,如果kind不是文件而不是dir ...
所以我猜有一个不同的问题......
你确定./public是正确的吗?
和Stylesheets / public / custom .....它是否在root中?