V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yucongo  ›  全部回复第 6 页 / 共 7 页
回复总数  140
1  2  3  4  5  6  7  
2017-09-30 00:16:14 +08:00
回复了 saximi 创建的主题 Python 请教关于用 selenium 解析网页的问题
pyquery +1
2017-09-29 00:06:10 +08:00
回复了 saximi 创建的主题 Python 请教关于 lxml 的用法
趁早改投 pyquery 门下吧……
2017-09-15 00:57:00 +08:00
回复了 sensui7 创建的主题 Python 请问 Python 处理文本文件都要这样麻烦吗
建议用 cchardet, 号称比 chardet 快 30000 倍,但一般快 10 倍、20 倍还是有的
2017-09-13 00:57:19 +08:00
回复了 kisscucci 创建的主题 Python 数组转字符串?
In [578]: d = [{'beifan': u'D551', 'id': 2, 'shuliang': 1334}, {'beifan': u'D552', 'id': 3, 'shuliang': 4003}, {'beifan': u'D550', 'id': 4, 'shuliang': 5103}]
In [579]: ''.join(['<li>' + elm.get('beifan') + ':' + str(elm.get('shuliang')) + '</li>' for elm in d])
Out[579]: '<li>D551:1334</li><li>D552:4003</li><li>D550:5103</li>'
2017-09-13 00:41:14 +08:00
回复了 MrgHOST 创建的主题 Python Python 相关问题
In [544]: s
Out[544]: '7w876543217w'

In [545]: [ s[2*idx: 2*idx+2] for idx in range(len(s)//2)]
Out[545]: ['7w', '87', '65', '43', '21', '7w']
2017-09-13 00:32:28 +08:00
回复了 MrgHOST 创建的主题 Python Python 相关问题
In [538]: [elm + s[1::2][idx] for idx, elm in enumerate(s[::2])]
Out[538]: ['7w', '87', '65', '43', '21', '7w']
2017-09-10 23:08:30 +08:00
回复了 vtoexsir 创建的主题 Python Python 可否检查某文本为某编码方式的几率?
s = '**************', 貌似少个 b 吧,s = b'**************'。str 是不存在编码的问题的
import html; html.unescape('&#x4F60;&#x597D;&#x4F60;&#x597D;') # '你好你好'

'你好你好'.encode("ascii", errors='xmlcharrefreplace').decode("ascii") # '&#20320;&#22909;&#20320;&#22909;' # 10 进制, 上面的 &#x4F60;&#x597D;&#x4F60;&#x597D; 是 16 进制

html.unescape('&#20320;&#22909;&#20320;&#22909;') # '你好你好'
2017-08-01 08:31:02 +08:00
回复了 slideclick 创建的主题 Python 轻量级 py 编辑器求推荐
Notepad++啦
1. Shift+TAB 后退一个缩进
2. 设置里 MISC 选定自动缩进
2017-07-14 00:42:49 +08:00
回复了 rogwan 创建的主题 Python 检查某一条语句执行花了多少时间,用 timeit 怎么查看?
In [6]: %paste
import timeit

setup = "list1 = [ 'aaa', 'bbb', 'ccc', 'ddd', 'eee' ]"
stmt = "if 'x' in list1: pass"
t = timeit.Timer(stmt=stmt, setup=setup)

n = 1
print("{0:.3f}".format(t.timeit(number=n)/n))

n = 10
print(t.timeit(number=n)/n)

n = 10000
print(t.timeit(number=n)/n)

n = 1000000
print(t.timeit(number=n)/n)

## -- End pasted text --
0.000
1.3518072108809065e-06
8.570457728040992e-07
1.0187274455574879e-06
In [53]: astring = 'fjiojfiawejfoijf ver="226800"fjiajfioafjio'

In [54]: re.search('(?<=ver=\").*?(?=\")', astring).group()
Out[54]: '226800'
2017-07-10 17:43:58 +08:00
回复了 yucongo 创建的主题 Python 怎么写才可以不用 exec?
@ledzep2 是啊,有些大侠不审题就给答案 ;), 而且提的问题里已经用了 importlib。不过还是感谢各位……
2017-07-10 01:15:18 +08:00
回复了 yucongo 创建的主题 Python 怎么写才可以不用 exec?
感谢楼上各位。

我想我知道怎么做了。8 楼问题的答案是:

globals()['Path'] = getattrib(tmp, 'Path')

0 楼的 exec 行可以用下面的码代替:

globals()[modules[idx]] = getattrib(tmp, modules[idx])
2017-07-09 23:28:21 +08:00
回复了 yucongo 创建的主题 Python 怎么写才可以不用 exec?
请各路高人继续支招,先感谢。

我再简化一下问题,考虑下面的源码

module_name = 'pathlib'
tmp = importlib.import_module(module_name) # 等效 import pathlib; tmp = pathlib
importlib.reload(tmp) # 等效 importlib.reload(pathlib)

? ?? # 如何不用 exec 实现 from pathlib import Path?

# 用 exec 的话可以凑一个 execline = "Path = getattr(tmp, 'Path')" 送给 exec(execline)
# 等效运行了 Path = getattrib(pathlib, 'Pah') , 等效于 from pathlib import Path
2017-07-09 23:16:02 +08:00
回复了 yucongo 创建的主题 Python 怎么写才可以不用 exec?
@ZRS locals()["func_name"] 只是拿到 module 的名字,其实是源码里的 tmp, 可我要的是 module 的 方法(给定'pathlib' 和 'Path', 实现 from pathlib import Path)。

@josephshen importlib.util.module_from_spec 和 importlib.util.spec_from_file_location 貌似都搜索 module 的名字。可我要的是 module 的 方法(例如,给定'pathlib' 和 'Path', 实现 from pathlib import Path)。
2017-07-09 21:41:53 +08:00
回复了 yucongo 创建的主题 Python 怎么写才可以不用 exec?
@josephshen 感谢,我 google 一下
2017-07-09 21:39:00 +08:00
回复了 yucongo 创建的主题 Python 怎么写才可以不用 exec?
@ZRS 感谢,我研究一下……
2017-07-09 21:34:37 +08:00
回复了 yucongo 创建的主题 Python 怎么写才可以不用 exec?
@264768502 大侠可不可以说仔细一点,感谢。

eval(...) 一般都可以用 dict 和 getattrib 实现,我在找实现 exec(...) 办法。网上好像说 eval 和 exec 都可以用别的办法代替。
2017-07-02 13:09:05 +08:00
回复了 yucongo 创建的主题 Python Windows 下 Python 3 出 segfault 时如何找错?
@nickr 感谢回答。

我搞不太清楚。不过 Windbg 里 如果不 !load pykd.dll 是运行不了 !py 的。

Windbg 里 Alt-1:
0:000> !py -3.4
No export py found
0:000> !load pykd.dll
0:000> !py -3.4
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
2017-07-02 12:28:23 +08:00
回复了 yucongo 创建的主题 Python Windows 下 Python 3 出 segfault 时如何找错?
这个 os.startfile("") 导致 python.exe 崩溃其实只在 ConEmu 下才出现(我的是 32 位 Windows 7,ConEmu 161002 ),所以可能要算 ConEmu 的 bug 吧……
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2965 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 13:15 · PVG 21:15 · LAX 05:15 · JFK 08:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.