我在Flask中有2个静态目录.
css/js/1/
index.htmldetails.json2/
index.htmldetails.json我跟着其他一些答案,浏览了文档以提供静态文件.
app = Flask(__name__)
app.config['RESULT_STATIC_PATH'] = "results/"
@app.route('/results/<path:file>')
def serve_results(file):
# Haven't used the secure way to send files yet
return send_from_directory(app.config['RESULT_STATIC_PATH'], file)
Run Code Online (Sandbox Code Playgroud)
使用以下代码,我现在可以请求目录中的results文件.
我对PHP和Apache更熟悉.假设一个目录有一个index.php或一个index.html文件,它会自动提供.
我的要求: -
localhost:3333/results/1我应该送达index.html我可以通过添加路由并检查index.html是否存在子目录然后提供它来对Flask做同样的事情.我在这里找到了一些类似的指针
我目前使用两条路线来获取功能.肯定有更好的方法.
为什么我要包含有关静态目录的详细信息?
我极有可能做错了什么.请告诉我.谢谢 :)
我正在寻找一种Pythonic方式或更有效的方法来解决这个问题.我有一个字典,其中设置为值(跨键允许重复).给定一个列表,我必须创建一个字典,使用主字典中的键将每个类别映射到元素.我举一个例子来说明.
大师词典
{
"KeyA": ['Aron', 'Ranom Value', 'Abhishek'],
"KeyB": ['Ball', 'Foo', 'Bar', 'Badge', 'Dog'],
"KeyZ": ['Random Value', 'Foo', 'Bar']
}
Run Code Online (Sandbox Code Playgroud)
输入
['Foo', 'Bar', 'Dog', 'Aron']
Run Code Online (Sandbox Code Playgroud)
产量
{
"KeyA": ['Aron'],
"KeyB": ['Bar', 'Foo', 'Dog'],
"KeyZ": ['Foo', 'Bar']
}
Run Code Online (Sandbox Code Playgroud)
将集合中的单个项目反转为键,然后执行查找.
{
'Aron' : ['KeyA'],
'Foo' : ['KeyB', 'KeyZ'],
'Bar' : ['KeyB', 'KeyZ'],
'Random Value' : ['KeyA', 'KeyZ']
}
Run Code Online (Sandbox Code Playgroud)
我通过遍历每一组中的每一项来初始化倒置的字典.创建这样的字典的大约时间是O(n).在如此创建的反向字典中查找列表中的项目.说出价值Bar.使用该信息创建新词典'Bar': ['KeyB', 'KeyZ'].结果词典将是{'KeyB': ['Bar'], 'KeyZ': ['Bar']}.对于下一个项目,我必须在现有字典上进行一些簿记,如是否存在密钥,如果是,则附加到现有列表,依此类推.
使用映射的集合中的in运算符(检查成员资格)到每个键
主词典和输入列表在大多数时候都会非常小.(所有套装中的独特物品少于500件).所以我可以检查每个键返回的集合的成员资格并创建一个字典.这显然效率较低,但适用于大多数情况.
我还有一些类似于上面给出的例子的操作.我不想为所有这些操作进行手动记账,因为它们容易出错并且比内置功能慢.
我需要的?
我最近开始尝试通过阅读LearnYouAHaskell和来自互联网的随机文章来学习Haskell.
我很难理解更复杂的功能类型.
我理解的一些例子.
> :t map
map :: (a -> b) -> [a] -> [b]
Run Code Online (Sandbox Code Playgroud)
它接受一个函数(它取a并给出b,即a和b可以是不同类型)和a的列表并返回b的列表.
> :t fst
fst :: (a, b) -> a
Run Code Online (Sandbox Code Playgroud)
获取2个元素的元组(允许不同类型)并返回第一个元素.
> :t any
Run Code Online (Sandbox Code Playgroud)
在更高的层次上,我理解any.它接受一个函数和一个列表,如果任何列表条目对该特定函数返回true,则返回true.我也在Python和JavaScript中使用它.
问题
我不明白如何any :: Foldable t => (a -> Bool) -> t a -> Bool
翻译到上面.
(a -> Bool)是谓词.接受参数并返回true或false. t a -> BoolBool是任何人的最终结果.根据我的理解t和a代表谓词和列表.为什么他们不被a分开->如何理解一般的类型签名以及如何深入挖掘以便我自己可以接近它们?
我从SICP开始,我是Scheme的新手.我已经尝试调试这段代码,甚至将它与类似的解决方案进行了比较.
(def (myFunc x y z)
(cond ((and (<= x y) (<= x z)) (+ (* y y) (* z z)))
((and (<= y x) (<= y z)) (+ (* x x) (* z z)))
(else (+ (* x x) (* y y)))))
Run Code Online (Sandbox Code Playgroud)
此函数返回两个最大数字的平方和.
当我运行它时,解释器给出"; Unbound变量:y".你能解释一下这个错误背后的原因吗?
非常感谢帮助:)
我从Google 文件系统论文中不明白这一点
一个小文件由少量块组成,也许只有一个。如果许多客户端访问同一个文件,存储这些块的块服务器可能会成为热点。
小文件有什么区别?许多客户端访问的大文件是否同样有可能导致问题?
我想过/阅读以下内容:-