小编Ada*_*tan的帖子

Python:OS独立的可用存储设备列表

有没有办法在Python中获得连接存储设备的列表,如相机,SD卡和外置硬盘?

python cross-platform

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

正则表达式html文本中的链接

我希望这个问题不是RTFM问题.我正在尝试编写一个Python脚本,从标准HTML网页(<link href...标签)中提取链接.我在网上搜索匹配的regexen,发现了许多不同的模式.是否有任何商定的标准正则表达式匹配链接?

亚当

更新: 我实际上正在寻找两个不同的答案:

  1. 什么是解析HTML链接的库解决方案.美丽的汤似乎是一个很好的解决方案(谢谢,Igal Serbancletus!)
  2. 可以使用正则表达式定义链接​​吗?

html python regex href hyperlink

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

python是facebook开发的稳定平台吗?

我正在尝试构建我的第一个Facebook应用程序,似乎python facebook(pyfacebook)包装器确实已经过时,并且最相关的功能(如流功能)未实现.

facebook有没有成熟的python前端?如果没有,Facebook开发的最佳语言是什么?

python api facebook

7
推荐指数
2
解决办法
7264
查看次数

PostgreSQL:以普通用户身份运行Python存储过程

我在postgresql服务器上安装了PL/Python postgres:

netherlands=# CREATE PROCEDURAL LANGUAGE plpythonu;
CREATE LANGUAGE      
Run Code Online (Sandbox Code Playgroud)

现在我需要授予权限,以便我可以将其用作普通用户:

netherlands=# GRANT ALL ON LANGUAGE plpythonu TO adam;
ERROR:  language "plpythonu" is not trusted
HINT:  Only superusers can use untrusted languages.
Run Code Online (Sandbox Code Playgroud)

我知道python不是一种"可信赖"的语言,但我愿意把握机会.有没有办法说服PostgreSQL让我像普通用户一样运行Python存储过程?

python postgresql

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

使用ansible添加多个SSH密钥

我编写了一个ansible脚本来从远程服务器中删除SSH密钥:

---
- name: "Add keys to the authorized_keys of the user ubuntu"
  user: ubuntu
  hosts: www
  tasks:
  - name: "Remove key #1"
    authorized_key: user=ubuntu key="{{ item }}" state=absent
    with_file:
     - id_rsa_number_one.pub
  - name: "Remove key #2"
    authorized_key: user=ubuntu key="{{ item }}" state=absent
    with_file:
     - id_rsa_number_two.pub
...
Run Code Online (Sandbox Code Playgroud)

将每个文件添加为不同的任务是荒谬的,所以我尝试使用with_fileglob:

  - name: "Remove all keys at once"
    authorized_key: user=ubuntu key="{{ item }}" state=absent
    with_fileglob:
      - /Users/adamatan/ansible/id_rsa*.pub
Run Code Online (Sandbox Code Playgroud)

但这会失败,如下所示:

失败:[www.example.com] =>(项目= /用户/ adamatan/ansible/id_rsa_one.pub)=> { "失败":真, "项目": "/Users/adamatan/ansible/id_rsa_one.pub" } msg:指定了无效密钥:/Users/adamatan/ansible/id_rsa_one.pub

使用唯一任务成功删除了相同的密钥文件,但当它是a的一部分时失败fileglob. …

ssh ssh-keys batch-processing ansible ansible-playbook

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

Android RecyclerView CardView StaggedGridLayoutManager:独立列滚动

我有"常规"实施StaggedGridLayoutManager.是否可以实现独立的列滚动?例如,用户将触摸并滚动右列,以便其他列不会移动?

更进一步:当滚动右列时,其他列也将同步滚动但速度较慢?(这与Expedia App中的内容类似).

谢谢,

android android-cardview android-recyclerview

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

PyCharm:刷新项目的虚拟环境

问题

我在PyCharm中有一些项目,每个项目都有自己的虚拟环境.

我经常使用CLI向这些虚拟环境添加软件包,主要是使用python setup.py develop另一个本地软件包.

新软件包出现Preferences -> Project -> Project Interpreter并且对新安装的软件包的调用运行,但导入仍然显示为错误,这让我感到疯狂:

在此输入图像描述

我试过了什么

  • 将虚拟环境更改为另一个,而不是切换回来,希望它会重新加载.不工作.
  • 重启PyCharm.工作,但它相当慢,所以我不认为它是一个解决方案.

如何刷新虚拟环境

python virtualenv pycharm

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

协议缓冲区中的多态性3

目前的设计

我正在重构一些退出的API代码,该代码返回用户的事件提要.API是一个普通的RESTful API,当前的实现只是查询数据库并返回一个feed.

代码很长且很麻烦,所以我决定将feed生成移动到将从API服务器调用的微服务.

新设计

为了解耦,我认为数据可以作为Protobuf对象从API服务器来回移动到微服务.这样,我可以改变两端的编程语言,仍然享受protobuf的类型安全和纤薄的尺寸.

在此输入图像描述

问题

Feed包含多种类型(例如,喜欢,图片和语音消息).将来可以添加新类型.例如,它们共享一些属性时间戳和标题 - 但除此之外,它们可能完全不同.

在经典的OOP中,解决方案很简单 - FeedItem所有feed项继承的基类,以及Feed包含一系列FeedItem类的类.

如何在Protocol Buffers 3中表达多态性的概念,或者至少在列表中启用不同类型的消息?

我检查了什么

  • Oneof:"一个不可重复的".
  • Any:太宽泛了(就像Java的List<Object>.

polymorphism protocol-buffers microservices protobuf-3

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

相当于 Javascript 中 Python 的列表理解

考虑以下数组的 JSON 表示:

logMessages = [
   {
      "timestamp":1499776056977,
      "message":"Log message c7a09226",
      "ingestionTime":1499776058327
   },
   {
      "timestamp":1499777056977,
      "message":"Log message e5d5b51a3ae1",
      "ingestionTime":1499777058327
   },
   {
      "timestamp":1499778056977,
      "message":"Log message b79f4620935b",
      "ingestionTime":1499778058327
   }
]
Run Code Online (Sandbox Code Playgroud)

假设我想只保留timestampmessage和省略ingestionTime。在 Python 中,我会这样做:

>>> [ {'timestamp': o['timestamp'], 'message': o['message']} for o in logMessages]

[{'timestamp': 1499776056977, 'message': 'Log message c7a09226'},
 {'timestamp': 1499777056977, 'message': 'Log message e5d5b51a3ae1'}, 
 {'timestamp': 1499778056977, 'message': 'Log message b79f4620935b'}]
Run Code Online (Sandbox Code Playgroud)

如何在 Javascript 中进行相同的字段过滤?

javascript python list-comprehension

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

ag:搜索确切的字符串,而不是模式

我的问题

我正在Application(service)使用ag在我的文件中搜索。由于 ag 将字符串视为正则表达式模式,因此我必须转义括号并使用:

ag 'Application\(service\)'
Run Code Online (Sandbox Code Playgroud)

这既麻烦又容易遗漏,尤其是当我的搜索中有多个正则表达式符号时。

我试过什么

  • 搜索手册
  • 转义正则表达式字符(有效,但容易出错)

我的问题

如何指示 ag 将搜索词视为文字字符串,而不是正则表达式模式?

regex ag

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