小编JBe*_*rdo的帖子

带有str子类的os.path.join

有谁知道为什么os.path.join函数不适用于子类str

(我在Windows上使用Python3.2 x64和Python2.7 x86,结果是一样的)

那是我的代码

class Path(str):
    def __add__(self, other):
        return Path(os.path.join(self, other))

p = Path(r'C:\the\path')
d = p + 'some_file.txt'
Run Code Online (Sandbox Code Playgroud)

和我想要的结果:

'C:\\the\\path\\some_file.txt'
Run Code Online (Sandbox Code Playgroud)

但输出\\some_file.txt无论是什么价值self.

我知道我可以做str(self)或者将其存储为self.path以后使用,但是为什么不os.join.path接受str子类也不会引发错误(比如当你使用数字或任何非字符串类型时)?

python string path python-3.x

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

将套接字路由到另一个端口

我有一个系统,我想听一个套接字并等待客户端连接,然后将连接传递给另一个应用程序,我将在建立连接后立即启动.

我没有对这个其他应用程序的控制,只能设置它将侦听的端口,但我希望每个新客户端都有一个进程.

这就是我想要做的:

路由

我一直在寻找一个解决方案,但是我没有正确的术语,但是我设法在Richard Stevens的"Unix网络编程"中发现了一些关于AF_ROUTE套接字系列的信息,这些套接字可以与一个SOCK_RAW路由器相结合.连接到另一个IP和端口.但是关于如何使用这个标志的文档太少,似乎需要超级用户权限(我想避免).

也许有一个更简单的解决方案,但我可能使用了错误的术语.我明白要做什么?

c c++ sockets routing

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

读取与分区名称冲突的列的 Spark 数据

我有以下文件路径,我们在 s3 上读取分区

prefix/company=abcd/service=xyz/date=2021-01-01/file_01.json
prefix/company=abcd/service=xyz/date=2021-01-01/file_02.json
prefix/company=abcd/service=xyz/date=2021-01-01/file_03.json
Run Code Online (Sandbox Code Playgroud)

当我用 pyspark 阅读这些内容时

self.spark \
    .read \
    .option("basePath", 'prefix') \
    .schema(self.schema) \
    .json(['company=abcd/service=xyz/date=2021-01-01/'])
Run Code Online (Sandbox Code Playgroud)

所有文件都具有相同的架构,并作为行加载到表中。一个文件可能是这样的:

{"id": "foo", "color": "blue", "date": "2021-12-12"}
Run Code Online (Sandbox Code Playgroud)

问题是有时文件的日期字段与我的分区代码冲突,例如date. 所以我想知道是否可以加载没有分区列的文件,重命名 JSON 日期列,然后添加分区列。

决赛桌为:

| id  | color | file_date  | company | service | date       |
-------------------------------------------------------------
| foo | blue  | 2021-12-12 | abcd    | xyz     | 2021-01-01 |
| bar | red   | 2021-10-10 | abcd    | xyz     | 2021-01-01 |
| baz | green | 2021-08-08 | …
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

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

Django models.Model超类

我想创建一个models.Model类,它不会成为数据库的一部分,而只是其他模型的接口(我想避免重复代码).

像这样的东西:

class Interface(models.Model):
    a = models.IntegerField()
    b = models.TextField()

class Foo(Interface):
    c = models.IntegerField()

class Bar(Interface):
    d = models.CharField(max_length='255')
Run Code Online (Sandbox Code Playgroud)

所以我的数据库应该只有Foo(带有a,b,c列)和Bar(带a,b,d)但不能有表接口.

python django

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

优化matplotlib pyplot:绘制许多小块图

我想制作一些电影,其中一些标绘点可以移动进行基本的交通模拟.绘图需要永远,但是~~ 10帧需要7s !! 那是怎么回事?

Python代码:

import numpy as np
import matplotlib.pyplot as plt
import cProfile

def slowww_plot():
    for i in range(10):
        plt.plot(0, 0, 'bo')
        plt.savefig('%03i.png' % i)
        plt.clf()
        plt.plot(0, 0, 'ro')   
        plt.savefig('%03i.png' % (i+1))
        plt.clf()

cProfile.run('slowww_plot()', sort = 'cumulative'
Run Code Online (Sandbox Code Playgroud)

产生

In [35]: %run test.py
         2035814 function calls (2011194 primitive calls) in 7.322 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    7.322    7.322 <string>:1(<module>)
        1    0.000    0.000    7.322    7.322 test.py:5(slowww_plot)
       40    0.006    0.000    3.615    0.090 …
Run Code Online (Sandbox Code Playgroud)

python optimization plot matplotlib

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

从 boto3 生成 AWS HTTP 签名

我正在使用boto3 尚不支持的AWS Transcribe 流authorization服务,因此要发出 HTTP/2 请求,我需要使用“AWS Signature Version 4”手动设置标头

我找到了一些示例实现,但我希望只调用 boto3/botocore 使用相同配置对象实现的任何函数。

就像是

    session = boto3.Session(...)
    auth = session.generate_signature('POST', '/stream-transcription', ...)
Run Code Online (Sandbox Code Playgroud)

有朝这个方向的指示吗?

python boto amazon-web-services botocore boto3

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

用Python制作http服务器

刚做了一个http服务器,仅处理文件上传。想要向http服务器添加功能,以通过http客户端在Get请求中共享文件。

我不知道如何将文件显示给客户端。因此客户端可以使用http://127.0.0.1/filename.avi看到它

综上所述

http客户端正在将文件上传到http服务器。

http客户端正在通过http服务器监视文件

python http

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

如何从python字符串扩展django模板

我有一个看起来像的字符串

string '''
    <html>
        <head>
            {% block head %}{% endblock %}
            ... other stuff ...
        </head>
        <body>
            {% block body %}{% endblock %}
           ... other stuff ...
        </body>
    </html>
'''
Run Code Online (Sandbox Code Playgroud)

我想以下django模板继承上面的字符串:

{% block head %}
    ... other stuff ...
{% endblock %}

{% block body %}
    <h1>Other stuff</h1>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

由于字符串不在文件中,因此不能仅将其文件名指定给模板呈现引擎.有任何想法吗?

python django django-templates

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

比较列表中的元素

我刚开始学习Python ...我正在编写一个简单的程序,它将采用整数并保留未排序和排序的列表.我遇到排序列表部分的问题...我在比较列表中元素的值时遇到错误.我得到错误的地方是以下行:"if sortedList [sortcount]> sortedList [count]:".我得到"TypeError:unorderable types:list()> int()".

这是代码的一部分......我不确定是什么问题.

numberList = []
sortedList = []
count = 0
sum = 0

....(skip)....

sortcount = 0
sortedList += [ int(userInput) ]
while sortcount < count:
    if sortedList[sortcount] > sortedList[count]:
        sortedList[count] = sortedList[sortcount]
        sortedList[sortcount] = [ int(userInput) ]  
    sortcount+=1
Run Code Online (Sandbox Code Playgroud)

python list python-3.x

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

一些正则表达式的东西

我刚刚开始弄清楚正则表达式,并希望尝试理解它的一些帮助.我一直用这个来帮助我开始,但我仍然有一些麻烦搞清楚.

我想要做的是拿这个文字:

<td>8.54/10 over 190 reviews</td>
Run Code Online (Sandbox Code Playgroud)

并拉出"8.54",所以基本上在第一个">"和"/"之间的任何东西

使用我的noob技能,我提出了这个:[0-9].[0-9] [0-9],它将与8.54相匹配,并且适用于所有但是我需要考虑的所有内容.

任何人都可以帮助我改进我的表达以适用于最后一个案例吗?

python regex

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