小编Shu*_*ule的帖子

Python 3:http.server是否支持ipv6?

难道http.server(http是一个Python 3.x的模块),支持IPv6的?例如,使用此命令行代码(启动Web服务器):

python -m http.server [port]
Run Code Online (Sandbox Code Playgroud)

webserver ipv6 python-3.x

10
推荐指数
3
解决办法
5770
查看次数

Rails 5:使用带有参数的 form_with 预填充搜索表单输入,而无需为每个字段手动执行此操作

假设我们有一个简单的搜索表单,它提交一个用于搜索/过滤的 GET 请求:

<%= form_with(scope: :search, url: url_for, local: false, method: :get) do |f| %>
  <%= f.text_field :title %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

当我们使用form_with(或旧的form_forActiveRecord 对象时,所有字段都会自动预先填充 AR 对象属性的当前值。

但在上面的示例中,如果我们仅使用范围(在本例中为search),则当我们使用如下 URL 打开页面时,不会发生这种情况:

http://localhost:3000/blog?search%5title%5D=test

即使 URL 很难为我们填充 Rails params[:search]{title: 'test'}它仍然需要手动传递每个字段的值,如下所示:

<%= f.text_field :title, value: params.dig(:search, :title) %>

随着搜索表单的增长,这变得非常乏味且容易出错,并且这似乎是一个常见的要求,我无法相信没有一种更“轨道的方式”可以在不诉诸表单对象设计模式之类的情况下做到这一点。

是否有任何自动方法可以预先填充这些输入,而不必从参数手动传递值?

ruby-on-rails

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

如何获取目录或驱动器的文件系统?

如何在Python中确定给定路径或驱动器是否格式化为EXT4,EXT3,EXT2,FAT32,NTFS或其他类型?

python filesystems

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

Tkinter:斜体已经粗体的文本(重叠标签)

我有一个 Python Tkinter 程序,我可以在其中选择文本,按快捷键,它将使所选文本变为粗体。您可以对其他样式(例如斜体)使用不同的快捷方式。

\n\n

但是,作为正在运行的程序中的用户,我遇到了一个问题,如果我尝试通过快捷方式将已经粗体的文本设置为斜体,那么文本只会显示为斜体,而不是粗体和斜体。我知道这是有道理的,因为标签被分配来执行其中一项操作,并且同时执行两项操作不会合并标签的效果。但是,我不知道如何确定当文本上有多个标签时会发生什么。

\n\n

您能否拥有一个以某种方式表示其他两个特定标签重叠的标签?

\n\n

我看到处理这个问题的唯一方法(从我在文档中看到的)是使用将Text.tag_bind一个函数绑定到我的每个样式标签,该函数执行一些有趣的操作来制作正确的文本,并且只有正确的文本,无论是粗体还是粗体。斜体。我认为这是可行的,但如果这不是正确的方法,我想知道。

\n\n

我可以毫不费力地制作一个同时显示粗体和斜体的标签。我需要的是能够处理重叠的标签。

\n\n

这是我已经在做的事情的相关代码:

\n\n
def set_tag_styles(self):\n    self.myTextWidget.tag_config("bold", font=[self.d["font"][0], self.d["font"][1], "bold"])\n    self.myTextWidget.tag_config("italic", font=[self.d["font"][0], self.d["font"][1], "italic"])\n    self.myTextWidget.tag_config("underline", font=[self.d["font"][0], self.d["font"][1], "underline"])\n    self.myTextWidget.tag_config("overstrike", font=[self.d["font"][0], self.d["font"][1], "overstrike"])\ndef invert_tag(self, start, end=None, tag=SEL, w=None):\n    #This just makes text without the tag have the tag and text with the tag not have the tag anymore.\n    if w==None:\n        w=self.myTextWidget\n    i=0\n    if end==None:\n        if tag in w.tag_names(start):\n            w.tag_remove(tag, start)\n        else:\n            w.tag_add(tag, start)\n    else:\n        while w.compare(start+"+"+str(i)+"c", "<", end):\n …
Run Code Online (Sandbox Code Playgroud)

python tkinter richtext italics

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

Python smtplib:为什么连接被拒绝?

因此,在 Python 解释器中,我这样做(并且仅此):

>>> import smtplib
>>> s=smtplib.SMTP("localhost")
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python3.4/smtplib.py", line 242, in __init__
    (code, msg) = self.connect(host, port)
    File "/usr/lib/python3.4/smtplib.py", line 321, in connect
    self.sock = self._get_socket(host, port, self.timeout)
    File "/usr/lib/python3.4/smtplib.py", line 292, in _get_socket
    self.source_address)
    File "/usr/lib/python3.4/socket.py", line 509, in create_connection
    raise err
    File "/usr/lib/python3.4/socket.py", line 500, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
Run Code Online (Sandbox Code Playgroud)

有没有人对我为什么会收到此错误有任何想法?(这是我的问题。)据我所知,不应该这样做。告诉我如果我错了。

我正在使用 Xubuntu 14.04。如果您需要更多信息,请询问。我不知道还有什么可以告诉你的,即兴的。

谢谢!

python email connection smtp send

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

Tkinter; 使用place()将小部件放在右下角

[注意:我只问这个问题是为了发布答案,因为我在问完之前就找到了答案,而且我想可能有人想知道。我的回答故意是一个答案,而不是问题的一部分。]

如何使用Tkinter的myWidget.place()方法在屏幕的右下角获得小部件(完全可见)?我尝试使用anchor=SE,但是小部件消失了(尽管它在那里;它只是在屏幕上的某个地方)。下面的代码在右上角运行良好:

self.entry.place(relx=1, x=0, y=-1, anchor=NE);
Run Code Online (Sandbox Code Playgroud)

但是,将锚更改为SE不符合我的预期。

我不想使用packgrid与此。

无论如何,我希望它能够在没有包装的情况下位于已经存在的另一个窗口小部件的顶部(因为这给我带来了问题,而且我需要为每个选项卡添加一个新的窗口小部件,而这样我就只需要一个窗口小部件) 。

python layout tkinter

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

如何隐藏 tkinter ttk.Notebook 小部件中的整个选项卡栏?

如何隐藏 ttk Notebook 小部件中的选项卡栏?我不想隐藏属于选项卡的框架。我只想将标签栏从视线中删除,即使它不在屏幕顶部(出于多个目的)。

无论如何,全屏模式会很好。

python tkinter fullscreen ttk

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

如何在Python的同一个类中将实例变量指定为关键字参数的默认值

在Python 3.3+中,给定一个带有方法的类,该类有一个实例变量,它是一个简单的object()对象(我们称之为self.FALSE).如何将该实例变量用作关键字参数的默认值?

class Test:
    def __init__(self):
        self.FALSE=object();
    def Tester(self, key=self.FALSE):
        pass;
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,因为关键字参数默认值的范围不包括self(通常也不包括Test类).但它确实包括全局变量和至少一些对象.

有没有办法做到这一点?我现在没有迫切的需要,但如果我能以某种方式做到这一点,那将是非常好的.我认为你可以作为关键字参数默认值传递任何内容.当然必须有办法.

python instance-variables self keyword-argument python-3.x

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

Control-Shift-Tab的Tkinter键绑定

Control-Shift-Tab的键绑定是什么?我尝试过很多东西,似乎没什么用.我已经知道了tkinter.ttk.Notebook.enable_traversal.

如果你知道激活标签的处理程序,那也就足够了.

tkinter key-bindings event-handling python-3.x

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

如何判断 OpenPGP 加密是对称还是非对称?

有没有办法判断通过 GNU Privacy Guard 加密的内容是对称的还是非对称的(无需解密或已经知道开始)?如何?

无论如何(对于那些想知道我在做什么的人),我使用 Python 3.x 编写了一个基于 GUI 的 IDE,可以打开对称加密的文件(也可以保存它们)。它可以打开非对称加密的文件(输入密码以使用您的密钥而不是密码来解密对称加密的文件)。但是,它不知道它们是不对称的,并且如果保存,则会用对称加密的文件覆盖它们。如果能够以不对称的方式保存它们,那就太好了。我的编辑器使用gpgLinux 上的命令行程序(没有gpg库或类似的东西)。

我可以在非对称加密的密码提示上有一个复选框,但我不想这样做,所以它必须是用户手动操作的。

对于我自己的个人文件,我可以在保存的文件中添加某种标记来区分,但我希望它能够正确打开它们,即使它们不是在我的 IDE 中创建的。

我知道有一个标题相似的问题,但正文中提出的问题根本不同。

encryption gnupg openpgp python-3.x

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

如何在Python中将电子邮件发送到具有非ASCII字符的地址?

经过大量研究,我使用Python 3.x中的emailsmtplib模块,可以发送带有Unicode主题,文本正文和名称的电子邮件(对于发件人和收件人),这很了不起,但它不会我将电子邮件发送到本身包含Unicode(或其他非ASCII)字符的地址。它似乎不受支持(如果您查看其中的注释,email.utils它会说很多:即“该地址(必须按RFC)必须为ascii,因此如果不是,则引发UnicodeError。”)任何尝试这样做的尝试无论如何(包括但不限于BCC收件人,以绕过任何消息头限制)都失败了,并出现了一种或多种Unicode错误。该评论未说明哪个RFC(我不认为它们都指定电子邮件地址应仅使用ASCII。)

是否有另一种方法可以做到,因为有传言称此类地址可以在某些地方存在:úßerñame@dómain.com?我的意思是,还有其他支持该功能的电子邮件模块吗?

如果我的问题的前提不正确,那么电子邮件地址是否打算在整个世界范围内仅使用ASCII码(尽管谣传其中一些使用其他字符)?

我在其他语言中看到了这个问题,但在Python中却没有看到。

python email unicode python-3.x

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