小编Din*_*har的帖子

为什么 pathlib 有 PurePath 和 Path?

不仅仅是对问题的回答,我还试图学习如何理解 官方 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

python-3.x pathlib

14
推荐指数
1
解决办法
3489
查看次数

使用 setup.py 和 setup.cfg 安装模块

我有以下目录结构:

/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)

python pip setuptools setup.py

10
推荐指数
1
解决办法
655
查看次数

下载 pub.dartlang.org 上发布的软件包的统计信息?

我创建了一个包并在几个月前发布了它,发现它的受欢迎程度有所增加,所以我想知道是否有任何方法可以查看我的包的下载统计信息?

例如,PHP 有https://packagist.org,每个包都有如下统计信息:

包装统计

对 dart-pub 有什么想法吗?

dart dart-pub

9
推荐指数
1
解决办法
1363
查看次数

使用 pathlib 模块关闭文件的推荐方法?

从历史上看我一直使用以下在读取文件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关键字来打开文件,以便不必明确关闭文件。这适用于这里的迭代器方法吗?

with open() 文档

python with-statement python-3.x pathlib

9
推荐指数
2
解决办法
3079
查看次数

使用 PyCharm IDE 注释多行的快捷键是什么?

在这个视频中,在“ 3:06 ”时间,他是如何通过选择第6、7和8行来将多行评论在一起的?

python comments pycharm

8
推荐指数
2
解决办法
3万
查看次数

Flask - 返回 jsonify 与 dict 有什么区别?

我有根据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)

python json dictionary httpresponse flask

7
推荐指数
1
解决办法
703
查看次数

如何使用flask向路由发送多个参数?

我最近开始学习Flask框架,并编写了一个简短的程序来理解request/responseFlask中的循环。

我的问题是最后调用的方法calc不起作用。

我发送请求为:

http://127.0.0.1/math/calculate/7/6

我收到错误:

未找到:在服务器上未找到请求的 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 rest restful-url flask flask-restful

6
推荐指数
1
解决办法
7505
查看次数

PyCharm 不会导入 PyGame

我对 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,但它仍然无法正常工作。如果有人可以提供建议,将不胜感激。

python pygame pycharm

5
推荐指数
1
解决办法
5344
查看次数

WTForms - 提交后 DateTimeLocalField 数据为 None

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.dataNone

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 forms flask wtforms

4
推荐指数
2
解决办法
2505
查看次数

为什么 Pycharm 无法识别我的 python 文件?

我在文件夹中放置了几个 python 文件,文件夹名为last_name first_name project assembler. 由于某种原因,Assembler.py不被认可:

Assembler.py 无法识别,但其他三个是

为什么是这样?它与文件夹包含名称的事实有关吗?

pycharm

2
推荐指数
1
解决办法
1391
查看次数

更改css代码时如何重新加载flask服务器?

我正在尝试编辑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 文件没有任何更改。

css python flask

1
推荐指数
1
解决办法
3204
查看次数

在生产中使用 Sanic 的内置网络服务器

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 deployment python-3.x server sanic

1
推荐指数
1
解决办法
663
查看次数