‘壹’ python获取类方法的参数列表
用python的inspect模块,inspect.getmembers得到所有的方法(注意第二个参数过滤函数)然后使用inspect.getargspec()得到函数的参数列表,参数类型,python是动态类型语言,这个重要吗
‘贰’ python如何提取.c文件中的指定函数的输入参数
class stdata(Structure):
_fields_ = [('pBuf', c_char_p), ('团雹燃贺buflen', c_int)]
N=100
buf = create_string_buffer(N)
d = stdata()
d.buflen = N
d.pBuf = cast(buf, c_char_p)
n = CallMyCFunc_GetData(byref(d))
关塌段帆键在于create_string_buffer创建可写buffer;cast转换为char*类型。
‘叁’ python如何定时提取网页信息并自动保存
有现成的工具可以自动提取保存,比如mutoubrowse也可以定时保存。
‘肆’ python中如何提取一组数据中的第一列数据
直接提取会报错,把array数组转换成list,即可提取,使用numpy转换
1、直接提取尝试:
group=[[1,2],[2,3],[3,4]]
#提取第一列元素
print(group[:,1])
#Out:TypeError: list indices must be integers or slices, not tuple
2、使用numpy转换:
import numpy as np
group=[[1,2],[2,3],[3,4]]
#numpy转化
ar=np.array(group)
print(ar[:,1])
#Out:[2 3 4]
numpy详解
Numpy对象是数组,称为ndarray
维度(dimensions)称作轴(axes),轴的个数叫做秩(rank)。注:有几级中括号就有几个维度
一、ndarray.attrs:
ndarray.ndim 秩
ndarray.shape 例如一个2排3列的矩阵,它的shape属性是(2,3)
ndarray.size 数组元素的总个数
ndarray.dtype 元素类型,NumPy提供自己的数据类型
ndarray.itemsize 数组中每个元素的字节大小
二、数组创建函数:
array
asarray将输入转换成ndarray
arange
ones
zeros
empty 只分配内存空间不填充任何值
eye 创建N*N单位矩阵(对角线为1)
三、数组和标量之间的运算
numpy数组的一个特点,不用编写循环就可对数据执行批量运算,这通常称作矢量化(vectorization)。
四、基本的索引和切片
numpy数组的索引是一个内容丰富的主题,因为选取数据子集或单个元素的方式有很多。这里我仅详细介绍常用的方法,对于高级功能的方式我列举名称,读者可以等到要用的时候自行查阅资料。
‘伍’ 在python中怎样获取命令行的原始参数
数1: sys.argv[1]
参数2: sys.argv[2]
test.py
1 import sys
2 print "脚本名:", sys.argv[0]
3 for i in range(1, len(sys.argv)):
4 print "参数", i, sys.argv[i]
>>>python test.py hello world
脚本名:test.py
参数 1 hello
参数 2 world
python中使用命令行选项:
例如我们需要一个convert.py脚本。它的作用是处理一个文件,并将处理后的结果输出到另一个文件中。
要求该脚本满足以下条件:
1.通过-i -o选项来区别参数是输入文件还是输出文件.
>>> python convert.py -i inputfile -o outputfile
2.当不知道convert.py需要哪些参数时,用-h打印出帮助信息
>>> python convert.py -h
getopt函数原形:
getopt.getopt(args, options[, long_options])
‘陆’ 濡备綍鎶揿彇缃戦〉涓婄殑鏁版嵁(濡备綍浣跨敤Python杩涜岀绣椤垫暟鎹鎶揿彇)
鍦ㄥ綋浠娄俊鎭鐖嗙偢镄勬椂浠o纴缃戦〉涓婅暣钘忕潃澶ч噺镄勬暟鎹锛屽逛簬璁稿氶嗗烟镄勭爷绌跺拰搴旂敤𨱒ヨ达纴銮峰彇缃戦〉涓婄殑鏁版嵁鏄闱炲父閲嶈佺殑銆侾ython浣滀负涓绉岖亩鍗曟槗瀛︿笖锷熻兘寮哄ぇ镄勭紪绋嬭瑷锛岃骞挎硾搴旂敤浜庣绣椤垫暟鎹鎶揿彇銆傛湰鏂囧皢浠嬬粛濡备綍浣跨敤Python杩涜岀绣椤垫暟鎹鎶揿彇镄勬搷浣沧ラゃ
涓銆佸畨瑁匬ython鍜岀浉鍏冲簱
瑕佷娇鐢≒ython杩涜岀绣椤垫暟鎹鎶揿彇锛岄栧厛闇瑕佸畨瑁匬ython瑙i喷鍣ㄣ傚彲浠ヤ粠Python瀹樻柟缃戠珯涓嬭浇骞跺畨瑁呮渶鏂扮殑Python鐗堟湰銆傚畨瑁呭畬鎴愬悗锛岃缮闇瑕佸畨瑁呬竴浜涚浉鍏崇殑Python搴掳纴濡俽equests銆乥eautifulsoup銆乻elenium绛夈傚彲浠ヤ娇鐢╬ip锻戒护𨱒ュ畨瑁呰繖浜涘簱锛屼緥濡傚湪锻戒护琛屼腑杈揿叆浠ヤ笅锻戒护𨱒ュ畨瑁卹equests搴掳细
```
pipinstallrequests
```
浜屻佷娇鐢╮equests搴撹幏鍙栫绣椤靛唴瀹
requests鏄涓涓锷熻兘寮哄ぇ涓旀槗浜庝娇鐢ㄧ殑HTTP搴掳纴鍙浠ョ敤𨱒ュ彂阃丠TTP璇锋眰骞惰幏鍙栫绣椤靛唴瀹广备笅闱㈡槸涓涓浣跨敤requests搴撹幏鍙栫绣椤靛唴瀹圭殑绀轰緥浠g爜锛
```python
importrequests
url="https://www.example.com"
response=requests.get(url)
html=response.text
print(html)
```
鍦ㄨ繖涓绀轰緥涓锛屾垜浠棣栧厛瀵煎叆浜唕equests搴掳纴铹跺悗鎸囧畾浜呜佽幏鍙栫殑缃戦〉URL銆备娇鐢╮equests.get()鏂规硶鍙戦丢ET璇锋眰锛屽苟灏呜繑锲炵殑鍝嶅簲瀵硅薄璧嫔肩粰response鍙橀噺銆傛渶钖庯纴阃氲繃response.text灞炴ц幏鍙栫绣椤电殑鍐呭癸纴骞舵墦鍗拌緭鍑恒
涓夈佷娇鐢╞eautifulsoup搴撹В鏋愮绣椤靛唴瀹
beautifulsoup鏄涓涓鐢ㄤ簬瑙f瀽HTML鍜孹ML鏂囨。镄凯ython搴掳纴鍙浠ユ柟渚垮湴浠庣绣椤典腑鎻愬彇镓闇镄勬暟鎹銆备笅闱㈡槸涓涓浣跨敤beautifulsoup搴撹В鏋愮绣椤靛唴瀹圭殑绀轰緥浠g爜锛
```python
frombs4importBeautifulSoup
soup=BeautifulSoup(html,"html.parser")
title=soup.title.text
print(title)
```
鍦ㄨ繖涓绀轰緥涓锛屾垜浠棣栧厛瀵煎叆浜咮eautifulSoup绫伙纴铹跺悗灏嗕箣鍓嶈幏鍙栧埌镄勭绣椤靛唴瀹筯tml浣滀负鍙傛暟浼犻掔粰BeautifulSoup绫荤殑鏋勯犲嚱鏁帮纴鍒涘缓涓涓狟eautifulSoup瀵硅薄soup銆傞氲繃soup.title.text灞炴у彲浠ヨ幏鍙栫绣椤电殑镙囬桡纴骞舵墦鍗拌緭鍑恒
锲涖佷娇鐢╯elenium搴撴ā𨰾熸祻瑙埚櫒琛屼负
selenium鏄涓涓镊锷ㄥ寲娴嬭瘯宸ュ叿锛屼篃鍙浠ョ敤𨱒ユā𨰾熸祻瑙埚櫒琛屼负杩涜岀绣椤垫暟鎹鎶揿彇銆备娇鐢╯elenium搴揿彲浠ユ墽琛孞avaScript浠g爜銆佹ā𨰾熺偣鍑绘寜阍銆佸~鍐栾〃鍗旷瓑镎崭綔銆备笅闱㈡槸涓涓浣跨敤selenium搴撴ā𨰾熸祻瑙埚櫒琛屼负镄勭ず渚嬩唬镰侊细
```python
fromseleniumimportwebdriver
driver=webdriver.Chrome()
driver.get(url)
button=driver.find_element_by_xpath("//button[@id='btn']")
button.click()
```
鍦ㄨ繖涓绀轰緥涓锛屾垜浠棣栧厛瀵煎叆浜吣ebdriver绫伙纴铹跺悗鍒涘缓涓涓狢hrome娴忚埚櫒瀵硅薄driver銆傞氲繃driver.get()鏂规硶镓揿紑鎸囧畾镄勭绣椤点傛帴涓嬫潵锛屼娇鐢╠river.find_element_by_xpath()鏂规硶镓惧埌椤甸溃涓婄殑鎸夐挳鍏幂礌锛屽苟浣跨敤click()鏂规硶妯℃嫙镣瑰嚮鎸夐挳镄勬搷浣溿
浜斻佸叾浠栧父鐢ㄧ殑缃戦〉鏁版嵁鎶揿彇鎶宸
闄や简涓婅堪浠嬬粛镄勫熀链镎崭綔澶栵纴杩樻湁涓浜涘父鐢ㄧ殑缃戦〉鏁版嵁鎶揿彇鎶宸у彲浠ユ彁楂樻姄鍙栨晥鐜囧拰鍑嗙‘镐с备緥濡傦纴鍙浠ヤ娇鐢ㄦe垯琛ㄨ揪寮忔潵鍖归厤鍜屾彁鍙栫壒瀹氭牸寮忕殑鏁版嵁锛涘彲浠ヤ娇鐢ㄤ唬鐞嗘湇锷″櫒𨱒ラ殣钘廔P鍦板潃鍜屾彁楂樿块梾阃熷害锛涘彲浠ヤ娇鐢ㄥ氱嚎绋嬫垨寮傛IO𨱒ュ苟鍙戞姄鍙栧氢釜缃戦〉绛夈