我是Elixir的新手,我正在努力改写这个:
kids = ["Mike", "Paula", "Julia", "Phil"]
Enum.filter(kids, fn(n) -> String.contains? n, "i" end)
# results in: ["Mike", "Julia", "Phil"]
Run Code Online (Sandbox Code Playgroud)
这样的事情
kids |> Enum.filter String.contains? "i"
Run Code Online (Sandbox Code Playgroud)
不行. - 我错过了什么?
我有一个 Django 项目,它使用一个外部包,我没有通过pip我的 virtualenv 安装它,而是通过 获得它git clone,现在我想知道将它放在哪里,以及文件夹的名称应该如何。外部包是这样的:Evernote Python3 SDK
这是我当前的 Django 项目结构:
\n\n\xe2\x9e\x9c (venv:evernote) evernote_bear_project git:(master) tree\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bear2evernote\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 static\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 templates\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.py\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 urls.py\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wsgi.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 libs\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 evernote-sdk-python3\n\n\xe2\x94\x82 (omitted)\n\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 utils\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file_utils.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 manage.py\nRun Code Online (Sandbox Code Playgroud)\n\n我已将此包放在Django 项目文件夹中evernote-sdk-python3名为的文件夹中。libs我还将实用函数放在一个名为utils下面的包中libs
现在我知道有很多关于如何构建项目的建议,如下两个:
\n\n[1]构建项目 \xe2\x80\x94 Python 搭便车指南
\n\n[2] Python 应用程序布局:参考 \xe2\x80\x93 Real Python
\n\n而且我也知道 Python 不会强迫你使用教条式的文件夹结构。但尽管如此:我对打包、包命名和包结构没有深入的了解。
\n\n …当我为 Python 项目创建 virtualenv 时,它会被我为了方便而安装的包(例如 iPython 或我的编辑器“VS Code”所依赖的其他包,例如“pylint”)“污染”。
但这些包与我的项目无关。因此,如果我这样做pip freeze > requirements.txt,我会发现只有少数软件包与我的项目相关。
最好的清理方法是什么?
pip freeze > requirements.txt,然后编辑需求文件并删除不需要的包?有没有一种方法可以将这里的这个衬垫变成 bash 函数?
mdfind -name autoflush.py | grep -Ev 'Library|VMWare|symf|larav' | sort
Run Code Online (Sandbox Code Playgroud)
我尝试这样做:
function mdf () { mdfind -name "$1" | grep -Ev 'Library|VMWare|symf|larav' | sort }
Run Code Online (Sandbox Code Playgroud)
但没有成功。
我不能在 bash 的函数内部使用管道运算符吗?
我的下一个方法是这样的:
function mdf () {
result=mdfind -name "$1"
grepped_result=grep -Ev 'Library|VMWare|symf|larav' $result
sort $grepped_result # return sort $grepped_result ?
}
Run Code Online (Sandbox Code Playgroud)
我猜我的方法中有很多概念错误。因此,我将不胜感激任何帮助和意见。