當前位置:首頁 » 編程語言 » python解析文件

python解析文件

發布時間: 2022-08-10 18:05:49

『壹』 python解析xml文件

可以使用beautifulsoup解析,或者自己使用正則表達式:(import re)

  • 首先獲取所有的tr標簽內的內容

tr_tags = re.findall(r"<tr>(?P[wW]*?)</tr>", jsp_html_content)

  • 對於每個tr內的標簽內容:

for tag in tr_tags:

first_str = re.findall(r"title="(?P[wW]*?)"", tag)[0]

second_str = re.findall(r"encode("(?P[wW]*?)"", tag)[0]

third_str = re.findall(r"%>">(?P[wW]*?)</a>", tag)[0]

此時first_str, second_str, third_str 就對應於【文件中所有的 "文件11", "/file/1文件11.pdf", "文件11" 這三個信息"】

『貳』 python中怎麼讀取文件內容

用open命令打開你要讀取的文件,返回一個文件對象
然後在這個對象上執行read,readlines,readline等命令讀取文件
或使用for循環自動按行讀取文件

『叄』 python3.0怎麼用json從文件解析

1、說明:python3通過json模塊load函數來解析文件。2、代碼示例:首先編寫一個json文件j.txt,內容如下:{"errno":1,"errmsg":"操作成功!","data":[]}python代碼如下:
1
2
3
4
5
6
import json
with open('j.txt', 'r') as fr:
o = json.load(fr)
print(o['errno'])
print(o['errmsg'])
print(len(o['data']))
輸出如下:1操作成功!03、函數說明:load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)反序列化fp(一個.read()包含 - 支持類文件對象一個JSON文件),以一個Python對象。object_hook是將與被調用的可選功能任何對象文本解碼(一個``dict``)的結果。返回值object_hook將用來代替dict。此功能可用於實現自定義解碼器(例如JSON-RPC級提示)。object_pairs_hook是將與被調用的可選功能任何對象的結果與對的有序列表字面解碼。該的返回值object_pairs_hook將用來代替dict。此功能可用於實現依賴於定製解碼器命令該鍵和值對被解碼(例如,collections.OrderedDict會記得插入的順序)。如果object_hook也定義了object_pairs_hook優先。要使用自定義JSONDecoder子類,與cls指定它kwarg;否則JSONDecoder使用。4、其它說明:也可以使用json.loads函數來直接處理字元串,方法如下:o=json.loads('{"errno":0,"errmsg":"操作成功!","data":[]}')

『肆』 python怎麼解析txt文件

#!/usr/bin/python
#-*-coding:UTF-8-*-

importos
importsys

defread_file(filePath):
lines=open(filePath).readlines()
forlineinlines:
printline


if__name__=='__main__':
read_file(sys.argv[1])

簡單的代碼示例

『伍』 python對文件的讀操作方法有哪些

摘要 1 文件讀取全文本操作

『陸』 python如何讀取文件的內容

# _*_ coding: utf-8 _*_

import pandas as pd

# 獲取文件的內容

def get_contends(path):

with open(path) as file_object:

contends = file_object.read()

return contends

# 將一行內容變成數組

def get_contends_arr(contends):

contends_arr_new = []

contends_arr = str(contends).split(']')

for i in range(len(contends_arr)):

if (contends_arr[i].__contains__('[')):

index = contends_arr[i].rfind('[')

temp_str = contends_arr[i][index + 1:]

if temp_str.__contains__('"'):

contends_arr_new.append(temp_str.replace('"', ''))

# print(index)

# print(contends_arr[i])

return contends_arr_new

if __name__ == '__main__':

path = 'event.txt'

contends = get_contends(path)

contends_arr = get_contends_arr(contends)

contents = []

for content in contends_arr:

contents.append(content.split(','))

df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])

(6)python解析文件擴展閱讀:

python控制語句

1、if語句,當條件成立時運行語句塊。經常與else, elif(相當於else if) 配合使用。

2、for語句,遍歷列表、字元串、字典、集合等迭代器,依次處理迭代器中的每個元素。

3、while語句,當條件為真時,循環運行語句塊。

4、try語句,與except,finally配合使用處理在程序運行中出現的異常情況。

5、class語句,用於定義類型。

6、def語句,用於定義函數和類型的方法。

『柒』 如何用python讀取xml文件

一、簡介

XML(eXtensible Markup Language)指可擴展標記語言,被設計用來傳輸和存儲數據,已經日趨成為當前許多新生技術的核心,在不同的領域都有著不同的應用。它是web發展到一定階段的必然產物,既具有SGML的核心特徵,又有著HTML的簡單特性,還具有明確和結構良好等許多新的特性。
python解析XML常見的有三種方法:一是xml.dom.*模塊,它是W3C DOM API的實現,若需要處理DOM API則該模塊很適合,注意xml.dom包裡面有許多模塊,須區分它們間的不同;二是xml.sax.*模塊,它是SAX API的實現,這個模塊犧牲了便捷性來換取速度和內存佔用,SAX是一個基於事件的API,這就意味著它可以「在空中」處理龐大數量的的文檔,不用完全載入進內存;三是xml.etree.ElementTree模塊(簡稱 ET),它提供了輕量級的Python式的API,相對於DOM來說ET 快了很多,而且有很多令人愉悅的API可以使用,相對於SAX來說ET的ET.iterparse也提供了 「在空中」 的處理方式,沒有必要載入整個文檔到內存,ET的性能的平均值和SAX差不多,但是API的效率更高一點而且使用起來很方便。
二、詳解

解析的xml文件(country.xml):
在CODE上查看代碼片派生到我的代碼片

<?xml version="1.0"?>
<data>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N"/>
</country>
<country name="Panama">
<rank>68</rank>
<year>2011</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W"/>
<neighbor name="Colombia" direction="E"/>
</country>
</data>


1、xml.etree.ElementTree

ElementTree生來就是為了處理XML,它在Python標准庫中有兩種實現:一種是純Python實現的,如xml.etree.ElementTree,另一種是速度快一點的xml.etree.cElementTree。注意:盡量使用C語言實現的那種,因為它速度更快,而且消耗的內存更少。
在CODE上查看代碼片派生到我的代碼片

try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET


這是一個讓Python不同的庫使用相同API的一個比較常用的辦法,而從Python 3.3開始ElementTree模塊會自動尋找可用的C庫來加快速度,所以只需要import xml.etree.ElementTree就可以了。
在CODE上查看代碼片派生到我的代碼片

#!/usr/bin/evn python
#coding:utf-8

try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
import sys

try:
tree = ET.parse("country.xml") #打開xml文檔
#root = ET.fromstring(country_string) #從字元串傳遞xml
root = tree.getroot() #獲得root節點
except Exception, e:
print "Error:cannot parse file:country.xml."
sys.exit(1)
print root.tag, "---", root.attrib
for child in root:
print child.tag, "---", child.attrib

print "*"*10
print root[0][1].text #通過下標訪問
print root[0].tag, root[0].text
print "*"*10

for country in root.findall('country'): #找到root節點下的所有country節點
rank = country.find('rank').text #子節點下節點rank的值
name = country.get('name') #子節點下屬性name的值
print name, rank

#修改xml文件
for country in root.findall('country'):
rank = int(country.find('rank').text)
if rank > 50:
root.remove(country)

tree.write('output.xml')


運行結果:

三、總結
(1)Python中XML解析可用的類庫或模塊有xml、libxml2 、lxml 、xpath等,需要深入了解的還需參考相應的文檔。
(2)每一種解析方式都有自己的優點和缺點,選擇前可以綜合各個方面的性能考慮。
(3)若有不足,請留言,在此先感謝!

『捌』 python操作:json文件中存在NumberInt(0),沒有引號,無法解析

python程序,報錯NameError: name XX is not defined 是沒有聲明造成的,需要在文件的前兩行進行聲明編碼,聲明方法為:

1、寫一個python文件,文件中有中文字元,且未聲明編碼。

『玖』 Python編程實現加密解密讀取文件

對Python加密時可能會有兩種形式,一種是對Python轉成的exe進行保護,另一種是直接對.py或者.pyc文件進行保護,下面將列舉兩種形式的保護流程。

1、對python轉exe加殼

下載最新版VirboxProtector加殼工具,使用加殼工具直接對demo.exe進行加殼操作

2、對.py/.pyc加密

第一步,使用加殼工具對python安裝目錄下的python.exe進行加殼,將python.exe拖入到加殼工具VirboxProtector中,配置後直接點擊加殼。

第二步,對.py/.pyc進行加密,使用DSProtector對.py/.pyc進行保護。

安全技術:

l虛擬機外殼:精銳5的外殼保護工具,創新性的引入了預分析和自動優化引擎,有效的解決了虛擬化保護代碼時的安全性和性能平衡問題。

l碎片代碼執行:利用自身成熟的外殼中的代碼提取技術,抽取大量、大段代碼,加密混淆後在安全環境中執行,最大程度上減少加密鎖底層技術和功能的依賴,同時大量大段地移植又保證了更高的安全性。

lVirbox加密編譯引擎:集編譯、混淆等安全功能於一身,由於在編譯階段介入,可優化空間是普遍虛擬化技術無法比擬的,對代碼、變數的混淆程度也有了根本的提升。

l反黑引擎:內置R0級核心態反黑引擎,基於黑客行為特徵 的(反黑資料庫)反制手段。精準打擊調試、注入、內存修改等黑客行為,由被動挨打到主動防護。

加密效果:

加密之前

以pyinstall 的打包方式為例,使用pyinstxtractor.py文件對log_322.exe進行反編譯,執行後會生成log_322.exe_extracted文件夾,文件夾內會生成pyc文件。

成功之後會在同目錄下生成一個文件夾

熱點內容
黑色隱藏字怎麼弄安卓 發布:2022-10-05 14:30:12 瀏覽:859
優酷加密視頻如何下載 發布:2022-10-05 14:30:11 瀏覽:996
忘記手繪密碼怎麼辦 發布:2022-10-05 14:30:10 瀏覽:604
海參的演算法 發布:2022-10-05 14:29:19 瀏覽:99
優酷怎麼不能緩存了 發布:2022-10-05 14:19:48 瀏覽:467
電腦配置低裝什麼系統 發布:2022-10-05 14:18:21 瀏覽:800
高級語言編譯後得到什麼程序 發布:2022-10-05 14:18:13 瀏覽:442
jsp文件下載上傳 發布:2022-10-05 14:18:12 瀏覽:657
知道壓縮包中文密碼怎麼解壓不了 發布:2022-10-05 14:14:22 瀏覽:291
神話資料庫 發布:2022-10-05 14:09:39 瀏覽:511