小编Ada*_*tan的帖子

使用Sphinx自动记录Python

这是关于Sphinx先前问题的通用版本.

有没有办法递归自动记录包含其中的类和函数的模块或包?

我认为为每个函数添加autofunctionor automodule指令是愚蠢的; 必须有一种方法来自动化该过程,否则我根本没有看到使用Sphinx的重点.

澄清: 而不是:

.. automodule:: segments.segments

    .. autoclass:: segments.segments.Seg

        .. automethod:: Seg.method_1

        .. automethod:: Seg.method_2

        .. automethod:: Seg.method_3

        .......

        .. automethod:: Seg.method_n
Run Code Online (Sandbox Code Playgroud)

这需要我手动剪切并粘贴所有方法名称并相应地更新文档,我想要一个如下命令:

.. automodule:: segments.segments

    .. autoclass:: segments.segments.Seg

        .. MAGIC COMMAND: Automatically print the docstrings and signatures 
           of all Seg() methods.
Run Code Online (Sandbox Code Playgroud)

python documentation-generation python-sphinx

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

如何清空SQL数据库?

我正在寻找一种简单的方法来删除数据库中的所有数据并保留结构(表,关系等......).我使用postgreSQL,但我认为,如果有命令这样做,它不是postgres特有的.

谢谢,

达米安

sql database postgresql truncate

18
推荐指数
2
解决办法
5万
查看次数

Sphinx,reStructuredText显示/隐藏代码片段

我一直在使用SphinxreStructuredText记录软件包.

在我的文档中,有一些很长的代码片段.我希望能够将它们隐藏为默认值,并使用一个"显示/隐藏"按钮来扩展它们(示例).

有没有一种标准的方法可以做到这一点?

restructuredtext show-hide code-snippets python-sphinx

18
推荐指数
5
解决办法
7709
查看次数

BeautifulSoup:获取特定表的内容

我的当地机场不光彩地阻止没有IE的用户,看起来很糟糕.我想编写一个Python脚本,每隔几分钟就可以获取Arrival和Departures页面的内容,并以更易读的方式显示它们.

我选择的工具是机械化欺骗网站以相信我使用IE,而BeautifulSoup用于解析页面以获取航班数据表.

老实说,我迷失在BeautifulSoup文档中,无法理解如何从整个文档中获取表(我知道他的标题),以及如何从该表中获取行列表.

有任何想法吗?

python beautifulsoup tabular web-scraping

18
推荐指数
3
解决办法
5万
查看次数

sphinx,restructuredtext:为单个单词设置颜色

有没有办法在sphinx中设置单个单词(或字符)的颜色?我很确定应该有一些标记标记,比如HTML font标记.

html restructuredtext python-sphinx

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

SQLalchemy找不到用于创建外键的表

我有SQL Alchemy的问题,在尝试创建数据库时,我得到:

"sqlalchemy.exc.NoReferencedTableError:与列'estate_agent.person_id'关联的外键无法找到用于生成目标列'id'的外键的表'person'"

元数据:

db = create_engine('postgresql+psycopg2:...//')
meta = MetaData()
meta.bind = db
Run Code Online (Sandbox Code Playgroud)

人员表:

tbl_person = Table(
   'person', meta,
   Column('id', Integer, Sequence('seq_person_id'), primary_key=True),
   Column('name', String(100), unique=True, nullable = False),
   Column('password', String(40), nullable = False),
   Column('person_type_id', Integer, ForeignKey("person_type.id"), nullable = False),
   Column('register_date', DateTime, default = datetime.now),
   Column('pendencies', String(200)),
   Column('active', Boolean, default = True),
   schema = 'public')
Run Code Online (Sandbox Code Playgroud)

错误表:

tbl_estate_agent = Table(
   'estate_agent', meta,
   Column('person_id', Integer, ForeignKey("person.id"), primary_key = True),
   Column('prize_range_id', Integer, ForeignKey("prize_range.id"), nullable = False),
   schema = 'public')
Run Code Online (Sandbox Code Playgroud)

普通表(通常创建fk)

tbl_person_agent = Table( …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy python-2.7

18
推荐指数
5
解决办法
2万
查看次数

如何将Kubernetes日志发送到AWS CloudWatch?

AWS CloudWatch登录Docker

设置在AWS CloudWatch的日志驱动程序docker与做log-driver=awslogslog-opt,例如-

#!/bin/bash

docker run \
    --log-driver=awslogs \
    --log-opt awslogs-region=eu-central-1 \
    --log-opt awslogs-group=whatever-group \
    --log-opt awslogs-stream=whatever-stream \
    --log-opt awslogs-create-group=true \
    wernight/funbox \
        fortune
Run Code Online (Sandbox Code Playgroud)

我的问题

我想在Kubernetes集群中使用AWS CloudWatch日志,其中每个pod包含一些Docker容器.每个部署都有一个单独的日志组,每个容器都有一个单独的流.我找不到通过Kubernetes create/ 将日志记录参数发送到docker容器的方法apply.

我的问题

如何将log-driverand log-opt参数发送到pod/deployment中的Docker容器?

我试过了什么

amazon-web-services docker kubernetes amazon-cloudwatchlogs

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

用于切片的Python整数无穷大

我在配置文件中定义了一个切片参数:

max_items = 10
Run Code Online (Sandbox Code Playgroud)

我的类根据此参数切片列表:

items=l[:config.max_itmes]
Run Code Online (Sandbox Code Playgroud)

什么时候max_items = 0,我想要取出所有物品l.快速而肮脏的方式是:

config.max_items=config.max_items if config.max_items>0 else 1e7
Run Code Online (Sandbox Code Playgroud)

假设会有更少的1e7项目.但是,我不喜欢使用魔术数字.是否有更多的Pythonic方式,如无穷大整数常量?

python integer infinity

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

bash flock:退出如果无法获得锁定

以下锁定机制用于防止cron作业并发运行:

#!/bin/bash

echo "Before critical section"
(
    flock -e 200
    echo "In critical section"
    sleep 5
) 200>/tmp/blah.lockfile
echo "After critical section"
Run Code Online (Sandbox Code Playgroud)

当一起运行两个实例时,后者一直等到第一个完成,然后运行.这可能导致等待运行的脚本积压.

如何更改此脚本以便在flock无法获取锁定时终止脚本?我试过-n没有成功.

bash concurrency flock

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

sed正则表达式中的布尔OR

我正在尝试替换boots配置文件中命名的包的所有引用.

行格式是add fast (package OR pkg) boots-(any-other-text),例如:

add fast package boots-2.3
add fast pkg boots-4.5
Run Code Online (Sandbox Code Playgroud)

我想用以下代替:

add fast pkg boots-5.0
Run Code Online (Sandbox Code Playgroud)

我尝试了以下sed命令:

sed -e 's/add fast (pkg\|package) boots-.*/add yinst pkg boots-5.0/g'
sed -e 's/add fast [pkg\|package] boots-.*/add yinst pkg boots-5.0/g'
Run Code Online (Sandbox Code Playgroud)

什么是正确的正则表达式?我想我在布尔或(packagepkg)部分缺少一些东西.

regex sed logical-operators

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