V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ClericPy  ›  全部回复第 83 页 / 共 133 页
回复总数  2649
1 ... 79  80  81  82  83  84  85  86  87  88 ... 133  
重新试了下... 好像和缓存没关系
好像是保持那个想跳转的 py 文件打开状态的话, 重启下就可以正常跳转了

比如 从 from asyncio.base_events 跳转打开了 base_events.py 文件, 这时候没法继续跳转 from . import coroutines

但如果不关闭 base_events.py 文件, Reload 下, 就可以跳转了...
2020-02-08 14:40:05 +08:00
回复了 black11black 创建的主题 Python Python 有办法限制字典不能添加新键吗 ?
0. https://www.dogedoge.com/results?q=Python+immutable+dict
1. 用户只要想改, 动态语言基本上用点成本都能改改
2. 主流的保护方式是双下划线保护基类, 子类改起来就很麻烦
3. 可以用一些 immutable 对象做属性调用, 比如基于数组的 namedtuple, 当然 frozendict 和 immutables 这俩库也可以, 就是有点多余了
4. 感觉有点杞人忧天过早优化了, 实在不行, 自己继承个 dict 在 __setitems__ 里面加上一个 warning 就够了
2020-02-08 14:23:46 +08:00
回复了 JerningChan 创建的主题 Python 请教一下 vscode 写 py 装哪个自动提示的插件最好用

纠正一下上贴回复
相对引用的 bug 1 年前就修复过了, 后来我这里不生效是因为以前为了省内存
"python.analysis.symbolsHierarchyDepthLimit": 0,
这个设置删了就恢复了...

溜了
2020-02-08 13:43:16 +08:00
回复了 MaxSSS 创建的主题 macOS 还是浏览器, chromium 版 edge&chrome
就目前 edge 测评的那些视频和文章来说, 还是弟弟

虽然我挺喜欢不番茄就能下插件, 但奈何太多开发者工具在 Chrome 上, 很多功能也是刚需, 只能先不换了
2020-02-08 13:39:20 +08:00
回复了 JerningChan 创建的主题 Python 请教一下 vscode 写 py 装哪个自动提示的插件最好用
1. 既然楼上已经提到关掉 jedi 用微软自带的 LSP, 那我稍微说下这个自带补全的感受... 刚开始用的时候惊为天人, 好用, 配合 mypy 和 type hints 做 linter, 体验不错, 跳转速度解析速度以及文档提示体验极棒, 也不用老去 jedi 文件夹删那两三个 GB 的 cache, 因为微软 LSP 的 cache 在哪至今没找到...

2. 用过半年左右, 发现只开微软的自动补全, 提示会奇卡无比, 后台分析目录的速度也越来越慢, 进而不装 intelligence code 插件, 都没法快速提示补全了, 每次都要自己 ctrl+enter 等半天出结果, 也没找到什么靠谱点的解决方法, 凑合使着

3. Python 插件在官方 github 上有个 issue 讲的是那些 from .xx import xxx 的导入无法跳转, 这个在 jedi 是正常补全的, Pycharm 里也是正常补全的, 就 VSCODE 里用微软 LS 的情况下无法跳转到定义, issue 里好像提到是 LS 那边 upstream 问题, 至今没修复, 测试的方式如下

代码输入
from asyncio.base_events import tasks
跳转到 base_events
里面很多

from . import constants
from . import coroutines
from . import events
from . import futures
from . import protocols

这些都没法再次跳转了, 但是在 settings 里注释掉
// "python.jediEnabled": false,
就可以跳转了

无奈
2020-02-07 19:53:31 +08:00
回复了 iyg429 创建的主题 问与答 75 度酒精怎么用?
不要内服 不要内服 不要内服
2020-02-07 18:25:49 +08:00
回复了 suifengingo 创建的主题 问与答 Python 语言的 if 循环如何批量生成,在线向大神请教!
原来问的是模版字符串.....
关键词前面加 Python 一搜几百万条结果
f-string
template
format string
%s
之前查过这方面的, 受 DOM 还是什么的结构限制, CSS 之类的东西都不能做这种找到"拥有某子节点的父节点"一类的回溯功能
我在前端用的就是你说的 for 循环的方法, 在每个 innerHTML 里正则或者二次 query

https://stackoverflow.com/questions/2000582/css-selector-for-foo-that-contains-bar

至于 beautifulsoup... 我用 bs4 99% 的时间都在用 css 选择器
2020-02-07 16:30:11 +08:00
回复了 wuwukai007 创建的主题 Python 国内 pypi 的镜像源同步时间为什么要一天啊?
@wuwukai007 #3 如果用阿里云机器, 除了改默认 pypi, 还要改默认 hosts/dns, 默认的各路 bug, 除了快一无是处
2020-02-07 16:26:06 +08:00
回复了 storypanda 创建的主题 问与答 不觉得最近更应该关心疫情而不是在家办公吗?
每天看点官方报道, 睡前扫一眼朋友圈, 平时自己抓点疫情警告推送微信, 了解下最新情况吧

捐款捐物量力而行, V 站的讨论还挺激烈的, 套用史记那句话:

"常有大度,不事家人生产作业"

-- 你们寒假作业做完了没有
2020-02-07 16:16:15 +08:00
回复了 wuwukai007 创建的主题 Python 国内 pypi 的镜像源同步时间为什么要一天啊?
豆瓣镜像算较快的了, 我印象中几分钟就有了

pypi 官方有时候刚发布就有, 有时候得等几分钟, 反正阿里云机器上的我都改了豆瓣, 家里都用官方了
2020-02-07 14:49:24 +08:00
回复了 suifengingo 创建的主题 问与答 Python 语言的 if 循环如何批量生成,在线向大神请教!
我如果没有理解错的话, 这个的需求是... 生成代码, 而不是拿到代码的执行结果...

https://paste.ubuntu.com/p/TVWrjgYfpq/ 虽然感觉这样生成代码挺没有意义的

PS: 题外话, 如果拿结果, 一个函数甚至是 lambda 函数就够了, operate = lambda id, n: id+n. 上面表驱动什么的说的都不像是讲生成代码的...
2020-02-07 11:54:56 +08:00
回复了 IDCFAN 创建的主题 PHP 请教如何限定 textarea 输入的 HTML 标签
提交前检验只能防君子不能防小人(模拟个请求就绕过去了)
后端简单的做个定向 escape 就好了, 不过我后端是 Python 的, 先解析 dom 然后拿到定向的几个节点强制 escape 就完事了
2020-02-07 11:52:34 +08:00
回复了 suifengingo 创建的主题 问与答 Python 语言的 if 循环如何批量生成,在线向大神请教!
同一楼, 别拿自己判断的做法来求思路, 直接提原始需求可以避免走弯路
2020-02-06 09:31:28 +08:00
回复了 mathzhaoliang 创建的主题 Python Python 怎么初始化一个参数很多的类来着
四种, https://paste.ubuntu.com/p/fMRyDqJPRY/

```python
# 1. use dataclass at python3.7+, recommended
from dataclasses import dataclass


@dataclass
class Data(object):
a: int
b: int
c: int
d: int


data = Data(1, 2, 3, 4)
print(data)
# Data(a=1, b=2, c=3, d=4)
print(data.a, data.b, data.c, data.d)
# 1 2 3 4

# 2. Use namedtuple

from typing import NamedTuple


class Data(NamedTuple):
a: int
b: int
c: int
d: int


data = Data(1, 2, 3, 4)
print(data)
# Data(a=1, b=2, c=3, d=4)
print(data.a, data.b, data.c, data.d)
# 1 2 3 4

# 3. Use __dict__ without __slots__


class Data(object):

def __init__(self, **kwargs):
super().__init__()
self.__dict__.update(kwargs)


data = Data(a=1, b=2, c=3, d=4)
print(data.a, data.b, data.c, data.d)
# 1 2 3 4

# 4. Use setattr with __slots__


class Data(object):
__slots__ = ('a', 'b', 'c', 'd')

def __init__(self, **kwargs):
super().__init__()
for k, v in kwargs.items():
setattr(self, k, v)


data = Data(a=1, b=2, c=3, d=4)
print(data.a, data.b, data.c, data.d)
# 1 2 3 4

```

作为一个程序员论坛, V 站貌似对代码支持的一塌糊涂
2020-02-04 18:11:27 +08:00
回复了 ech0x 创建的主题 微信 你觉得微信好用吗?
微信的设计违反了 职责单一原则 /🐶
@asus10tu #15
工具有的是吧
早年要抓 TCP, 所以用的 wireshark
后来基本只抓网站, 所以浏览器的调试工具足够用了
后来因为要在三个平台抓包, 就用了 Charles
再后来证书什么的有点问题, 试了 fiddler 的自定义规则, 还是不好使
然后发现阿里开源了个 AnyProxy, 真香, 用了几天又因为系统洁癖把 node js 删了...
后来部署生产环境用到 mitmproxy, 比以前随手学的时候香多了, 从那以后基本只用 mitmproxy 了, 在服务器上 nginx 做下域名映射, app 什么的直接挂服务器代理, 还能改流量(比如给某些页面注入点 js)
再后来看到 utools 有抓包工具, 然而又对爬虫深恶痛绝... 就没有然后了

requests.utils.quote 其实内置库里也有, 平时更常用的是 quote_plus, 区别一搜就知道了
你乱码明显就是 fiddler 强行解码的锅, 它想强行解码也是为了用户可读, 你试试在请求上右键 copy 什么的能拿到原始的结果没有

我后来用 Charles 最舒服的其实还是右键 copy 成 curl, 然后用自己写的 curl parser 转成 Requests 直接用的字典, 什么都不改就可以重发请求了
2020-02-04 18:00:48 +08:00
回复了 firejoke 创建的主题 Python 大家学爬虫的热情把文泉学堂爬挂了
曾经也想给自己网站带上 ddos 防火墙, 后来总结了月流量=2, 就算了...
2020-02-03 23:45:30 +08:00
回复了 yezhiye 创建的主题 Python Python selenium find_element_by_xpath 出错
1. 没有源码, 不知道你这定位到哪去了
2. 没有结果, 不知道你说的 find 到的到底是不是 div
3. selenium 如果不靠谱, 为什么不直接拿整个 HTML 丢给自己家的 lxml 去解析
1 ... 79  80  81  82  83  84  85  86  87  88 ... 133  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2607 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 46ms · UTC 15:42 · PVG 23:42 · LAX 07:42 · JFK 10:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.