不仅仅是对问题的回答,我还试图学习如何理解 官方 Python 文档。
我知道Path继承自PurePath,但我无法理解何时使用哪个以及为什么有PurePath&Path而不是一个。
在备选方案列表中,大多数是建议,Path而有些是建议Pathlib。
我在看os.path.dirname()他们建议的地方PurePath.parent。但是当我运行pathlib.PurePath(file).parent.name&时,我得到了相同的结果pathlib.Path(file).parent.name。
那么,为什么他们使用PurePathfor some & Pathfor most。为什么他们不建议Path.parent而不是PurePath.parent?
我有以下目录结构:
/modules/
/modules/setup.py
/modules/setup.cfg
/modules/module1/
/modules/module1/__init__.py
/modules/module1/tool1/__init__.py
/modules/module1/tool1/tool1.py
/modules/module2/
/modules/module2/__init__.py
/modules/module2/tool2/__init__.py
/modules/module2/tool2/tool2.py
/modules/module2/tool3/__init__.py
/modules/module2/tool3/tool3.py
Run Code Online (Sandbox Code Playgroud)
我想使用 setup.py 和 setup.cfg 安装这些模块,然后像这样导入它们:
import my_project.module1.tool1
import my_project.module2.tool2
import my_project.module2.tool3
Run Code Online (Sandbox Code Playgroud)
这些是我的安装文件:
设置文件
import setuptools
setuptools.setup(
setup_requires=['paramiko>=2.0.1'],
paramiko=True)
Run Code Online (Sandbox Code Playgroud)
设置文件
[metadata]
name = my_project
summary = my project modules
[files]
packages =
module1
module2
Run Code Online (Sandbox Code Playgroud)
当我尝试安装软件包时失败:
/modules# pip install -e .
Obtaining file:///modules
Installing collected packages: UNKNOWN
Found existing installation: UNKNOWN 0.0.0
Can't uninstall 'UNKNOWN'. No files were found to uninstall.
Running setup.py develop for UNKNOWN
Successfully installed …Run Code Online (Sandbox Code Playgroud) 我创建了一个包并在几个月前发布了它,发现它的受欢迎程度有所增加,所以我想知道是否有任何方法可以查看我的包的下载统计信息?
例如,PHP 有https://packagist.org,每个包都有如下统计信息:
对 dart-pub 有什么想法吗?
从历史上看我一直使用以下在读取文件python:
with open("file", "r") as f:
for line in f:
# do thing to line
Run Code Online (Sandbox Code Playgroud)
这仍然是推荐的方法吗?使用以下方法是否有任何缺点:
from pathlib import Path
path = Path("file")
for line in path.open():
# do thing to line
Run Code Online (Sandbox Code Playgroud)
我发现的大多数参考资料都使用with关键字来打开文件,以便不必明确关闭文件。这适用于这里的迭代器方法吗?
在这个视频中,在“ 3:06 ”时间,他是如何通过选择第6、7和8行来将多行评论在一起的?
我有根据POST请求向用户返回响应的路由。我正在dict应要求返回一个。问题是在某些情况下返回 dict 工作正常,但有时会引发错误。
任何人都可以解释什么是理想的返回类型以及为什么在dict某些情况下返回成功?
@app.route('/getuser', methods = ['post'] )
def getusername():
user = request.json.get("user_name")
# This works good for few cases
return {"username": user}
# Whereas other require this
return jsonify({"username": user})
Run Code Online (Sandbox Code Playgroud) 我最近开始学习Flask框架,并编写了一个简短的程序来理解request/responseFlask中的循环。
我的问题是最后调用的方法calc不起作用。
我发送请求为:
我收到错误:
“未找到:在服务器上未找到请求的 URL。如果您手动输入 URL,请检查拼写并重试。”
下面是我的烧瓶应用程序代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "<h1>Hello, World!</h1>"
@app.route('/user/<name>')
def user(name):
return '<h1>Hello, {0}!</h1>'.format(name)
@app.route('/math/calculate/<string:var1>/<int:var2>')
def calc(var1, var2):
return '<h1>Result: {0}!</h1>'.format(int(var1)+int(var2))
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)
Run Code Online (Sandbox Code Playgroud) 我对 python 相当陌生,决定尝试 PyGame 却发现它无法导入。
line 1, in <module>
import pygame
ModuleNotFoundError: No module named 'pygame'
Run Code Online (Sandbox Code Playgroud)
我在 Windows 10 上,我使用 PyCharm Build #PE-182.3684.126,我通过 CMD pip 安装它。到目前为止,我已经重新安装了两次 PyGame,但它仍然无法正常工作。如果有人可以提供建议,将不胜感激。
随POST请求提交表单后,每个Field数据都有其值,除了DateTimeLocalField. 访问 DateTimeLocalField 的数据值是一种None.
形式
class ArticleForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
category = SelectField(u'Category', choices=categories.choices)
town = StringField('Town', validators=[DataRequired()])
minimal_price = IntegerField('Minimal price')
article_image = FileField('Article_image', validators=[FileRequired()])
time_left = DateTimeLocalField('Time to end', validators=[InputRequired()],
format='%Y-%m-%d %H:%M:%S')
description = TextAreaField('Description', validators=[DataRequired()])
Run Code Online (Sandbox Code Playgroud)
验证:(经测试is_submitted,除了所有的工作article_form.time_left.data是None)
if article_form.validate_on_submit():
new_article = Article(name=article_form.name.data,
category=article_form.category.data,
town=article_form.town.data,
minimal_price=article_form.minimal_price.data,
article_image=name,
time_left=article_form.time_left.data, # <-- None
description=article_form.description.data,
user_id=current_user.id)
Run Code Online (Sandbox Code Playgroud)
任何帮助获取数据DateTimeLocalField?
我在文件夹中放置了几个 python 文件,文件夹名为last_name first_name project assembler. 由于某种原因,Assembler.py不被认可:
为什么是这样?它与文件夹包含名称的事实有关吗?
我正在尝试编辑static文件夹中的CSS 代码。但问题是:Flask 不会重新加载 CSS 更改。
<head>
<link rel= "stylesheet" type= "text/css" href= "{{ url_for('static',filename='style.css') }}">
</head>
Run Code Online (Sandbox Code Playgroud)
我期待更改,但编辑 css 文件没有任何更改。
Django文档说明了关于他们的开发服务器:
不要在任何类似于生产环境的地方使用这个服务器。它仅供在开发时使用。(我们的工作是制作 Web 框架,而不是 Web 服务器。)
Sanic 的部署文档并没有说我们不能在生产中使用它内置的服务器。它指出:
使用以下三个选项之一部署 Sanic 非常简单:内置网络服务器、ASGI 网络服务器或 gunicorn。将 Sanic 放在反向代理之后也很常见,比如 nginx。
对我来说,这意味着摆脱 Apache 的束缚。这也意味着 Nginx、Gunicorn、Daphne、Uvicorn、Hypercorn 等都是可选的。
但是,我发现了一些关于其在Sanic 中的内置服务器的负面评论:python web server that's write to die fast。另一方面,他们的 github 存储库似乎非常活跃。他们是否解决了 Reddit 帖子中提到的问题?
我错过了什么吗?
python ×9
flask ×4
pycharm ×3
python-3.x ×3
pathlib ×2
comments ×1
css ×1
dart ×1
dart-pub ×1
deployment ×1
dictionary ×1
forms ×1
httpresponse ×1
json ×1
pip ×1
pygame ×1
rest ×1
restful-url ×1
sanic ×1
server ×1
setup.py ×1
setuptools ×1
wtforms ×1