當前位置:首頁 » 編程語言 » extractPython

extractPython

發布時間: 2022-03-01 00:16:26

Ⅰ 請問python的 zipfile 怎麼解壓中文密碼的zip文件

  • 是python2還是3?

  • 錯誤截圖看一下

  • 也可以私信發zip包和代碼來測試一下

Ⅱ 怎麼從zip里提取文件 Python

Python自帶模塊zipfile可以完成zip壓縮文件的讀寫,而且使用非常方便,下面就來演示一下Python讀寫zip文件:

Python讀zip文件
下面的代碼給出了用Python讀取zip文件,列印出壓縮文件裡面所有的文件,並讀取壓縮文件中的第一個文件。
import zipfile
z = zipfile.ZipFile("zipfile.zip", "r")
#列印zip文件中的文件列表
for filename in z.namelist( ):
print 'File:', filename
#讀取zip文件中的第一個文件
first_file_name = z.namelist()[0]
content = z.read(first_file_name)
print first_file_name
print content
Python寫/創建zip文件
Python寫Zip文件主要用到ZipFile的write函數。
import zipfile
z = zipfile.ZipFile('test.zip', 'w', zipfile.ZIP_DEFLATED)
z.write('test.html')
z.close( )
在創建ZipFile實例的時候,有2點要注意:
要用'w'或'a'模式,用可寫的方式打開zip文件 壓縮模式有ZIP_STORED 和 ZIP_DEFLATED,ZIP_STORED只是存儲模式,不會對文件進行壓縮,這個是默認值,如果你需要對文件進行壓縮,必須使用ZIP_DEFLATED模式。

Ⅲ Python中extract_tags()怎麼對多行文本提取特徵詞而不是一行一行計算

[python] view plain
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from multiprocessing import Pool,Queue,Process
import multiprocessing as mp
import time,random
import os
import codecs
import jieba.analyse
jieba.analyse.set_stop_words("yy_stop_words.txt")

def extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#print("key words:{kw}".format(kw=" ".join(tags)))
return tags

#def parallel_extract_keyword(input_string,out_file):
def parallel_extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#time.sleep(random.random())
#print("key words:{kw}".format(kw=" ".join(tags)))
#o_f = open(out_file,'w')
#o_f.write(" ".join(tags)+"\n")
return tags
if __name__ == "__main__":

data_file = sys.argv[1]
with codecs.open(data_file) as f:
lines = f.readlines()
f.close()

out_put = data_file.split('.')[0] +"_tags.txt"
t0 = time.time()
for line in lines:
parallel_extract_keyword(line)
#parallel_extract_keyword(line,out_put)
#extract_keyword(line)
print("串列處理花費時間{t}".format(t=time.time()-t0))

pool = Pool(processes=int(mp.cpu_count()*0.7))
t1 = time.time()
#for line in lines:
#pool.apply_async(parallel_extract_keyword,(line,out_put))
#保存處理的結果,可以方便輸出到文件
res = pool.map(parallel_extract_keyword,lines)
#print("Print keywords:")
#for tag in res:
#print(" ".join(tag))

pool.close()
pool.join()
print("並行處理花費時間{t}s".format(t=time.time()-t1))

運行:
python data_process_by_multiprocess.py message.txt
message.txt是每行是一個文檔,共581行,7M的數據

運行時間:

不使用sleep來掛起進程,也就是把time.sleep(random.random())注釋掉,運行可以大大節省時間。

Ⅳ Python extract模塊到底怎樣安裝呢

很多安裝方法的,第一種利用2.7版本自帶的pip安裝,在cmd下輸入pip install extract。第二種方法是下載壓縮包,然後解壓後,在解壓文件夾按住鍵盤shift鍵+滑鼠右鍵,選擇打開命令窗口,然後python setup.py install安裝…方法很多,可以網路一下。或者跟著一個在線教育培訓機構,例如七月在線等等

Ⅳ 關於Python中的一段為Python腳本添加行號腳本

C語言有__LINE__來表示源代碼的當前行號,經常在記錄日誌時使用。Python如何獲取源代碼的當前行號?
The C Language has the __LINE__ macro, which is wildly used in logging, presenting the current line of the source file. And how to get the current line of a Python source file?

exception輸出的函數調用棧就是個典型的應用:
A typical example is the output of function call stack when an exception:

python代碼
File "D:\workspace\Python\src\lang\lineno.py", line 19, in <mole>
afunc()
File "D:\workspace\Python\src\lang\lineno.py", line 15, in afunc
errmsg = 1/0
ZeroDivisionError: integer division or molo by zero

那麼我們就從錯誤棧的輸出入手,traceback模塊中:
Now that, Let's begin with the output of an exception call stack, in the traceback mole:

python代碼
def print_stack(f=None, limit=None, file=None):
"""Print a stack trace from its invocation point.

The optional 'f' argument can be used to specify an alternate
stack frame at which to start. The optional 'limit' and 'file'
arguments have the same meaning as for print_exception().
"""
if f is None:
try:
raise ZeroDivisionError
except ZeroDivisionError:
f = sys.exc_info()[2].tb_frame.f_back
print_list(extract_stack(f, limit), file)

def print_list(extracted_list, file=None):
"""Print the list of tuples as returned by extract_tb() or
extract_stack() as a formatted stack trace to the given file."""
if file is None:
file = sys.stderr
for filename, lineno, name, line in extracted_list:
_print(file,
' File "%s", line %d, in %s' % (filename,lineno,name))
if line:
_print(file, ' %s' % line.strip())

traceback模塊構造一個ZeroDivisionError,並通過sys模塊的exc_info()來獲取運行時上下文。我們看到,所有的秘密都在tb_frame中,這是函數調用棧中的一個幀。
traceback constructs an ZeroDivisionError, and then call the exc_info() of the sys mole to get runtime context. There, all the secrets hide in the tb_frame, this is a frame of the function call stack.

對,就是這么簡單!只要我們能找到調用棧frame對象即可獲取到行號!因此,我們可以用同樣的方法來達到目的,我們自定義一個lineno函數:
Yes, It's so easy! If only a frame object we get, we can get the line number! So we can have a similar implemetation to get what we want, defining a function named lineno:

python代碼
import sys

def lineno():
frame = None
try:
raise ZeroDivisionError
except ZeroDivisionError:
frame = sys.exc_info()[2].tb_frame.f_back
return frame.f_lineno

def afunc():
# if error
print "I have a problem! And here is at Line: %s"%lineno()

是否有更方便的方法獲取到frame對象?當然有!
Is there any other way, perhaps more convinient, to get a frame object? Of course YES!

python代碼
def afunc():
# if error
print "I have a proble! And here is at Line: %s"%sys._getframe().f_lineno

類似地,通過frame對象,我們還可以獲取到當前文件、當前函數等信息,就像C語音的__FILE__與__FUNCTION__一樣。其實現方式,留給你們自己去發現。
Thanks to the frame object, similarly, we can also get current file and current function name, just like the __FILE__ and __FUNCTION__ macros in C. Debug the frame object, you will get the solutions.

Ⅵ python 提取有關鍵詞的句子怎麼做

高頻詞提取:
# !/usr/bin/python3
# coding:utf-8

import jieba.analyse

jieba.load_userdict('dict.txt') # dict.txt自定義詞典

content = open('kw.txt', 'rb').read()
tags = jieba.analyse.extract_tags(content, topK=10) # topK 為高頻詞數量
print("\n".join(tags))

Ⅶ python十大必學模塊是什麼

這個不能一概而論的,據說python目前高達27萬+個庫,看你學習的方向必學模塊也有不同,簡單列舉:

1、網路通用方面:

  • urllib-網路庫

  • requests-網路庫

  • pycurl– 網路庫

  • httplib2– 網路庫

  • RoboBrowser– 瀏覽網頁

  • MechanicalSoup-一個與網站自動交互Python庫

  • socket– 底層網路介面

    2、爬蟲方面:

  • grab– 爬蟲框架

  • scrapy– 網路爬蟲框架,不支持Python3

  • pyspider–爬蟲系統。

  • cola– 爬蟲框架

  • portia– 可視化爬蟲

  • 3、HTML/XML解析方面:

  • lxml– 高效HTML/ XML處理庫

  • cssselect– 解析DOM樹和CSS選擇器。

  • pyquery– 解析DOM樹和jQuery選擇器。

  • html5lib– 根據WHATWG規范生成HTML/ XML文檔的DOM

  • feedparser– 解析RSS/ATOM feeds。

  • MarkupSafe– 為XML/HTML/XHTML提供了安全轉義的字元串。

  • xhtml2pdf– 將HTML/CSS轉換為PDF。

  • untangle– XML文件轉Python對象

  • 4、文件處理方面:

  • xpinyin– 將中國漢字轉為拼音

  • tablib– 數據導出為XLS、CSV、JSON、等格式的模塊

  • textract– 從文件中提取文本

  • messytables– 解析表格數據

  • rows– 常用數據介面

  • Office

  • python-docx– 讀取,查詢和修改docx文件

  • xlwt/xlrd– 從Excel文件讀取寫入數據和格式信息

  • PDF

  • Markdown

  • Python-Markdown– 一個用Python實現的John Gruber的Markdown。

Ⅷ 如何通過Python壓縮解壓縮zip文件

解壓縮

importzipfile
importos
defun_zip(file_name):
"""unzipzipfile"""
zip_file=zipfile.ZipFile(file_name)
ifos.path.isdir(file_name+"_files"):
pass
else:
os.mkdir(file_name+"_files")
fornamesinzip_file.namelist():
zip_file.extract(names,file_name+"_files/")
zip_file.close()

打包

zipfile.ZipFile('xxx.zip','a/w/x').write('xxx.txt')

'w'以截斷並寫入新文件'a'以附加到現有文件,或'x'以專門創建和寫入新文件。

Ⅸ scrapy的extract命令有何作用

大概意思就是你用css選擇器選擇了一個標簽里的一個元素,用了extract()方法,返回的結果是那整個標簽,用列表的方法返回

熱點內容
安卓手機哪個生態好 發布:2025-01-11 17:56:01 瀏覽:272
資料庫數據的一致性 發布:2025-01-11 17:30:45 瀏覽:708
手機怎麼設置手勢安卓 發布:2025-01-11 17:15:54 瀏覽:965
威能壁掛爐解壓閥 發布:2025-01-11 17:15:53 瀏覽:560
突破伺服器ip限制 發布:2025-01-11 17:11:23 瀏覽:819
支付寶上傳憑證 發布:2025-01-11 17:10:29 瀏覽:877
怎麼打開行李箱的密碼鎖 發布:2025-01-11 17:09:51 瀏覽:594
蘋果怎麼刪除id賬號和密碼 發布:2025-01-11 17:09:50 瀏覽:785
7z解壓很慢 發布:2025-01-11 16:51:23 瀏覽:943
電腦改文檔伺服器 發布:2025-01-11 16:41:14 瀏覽:871