1. 如何用python提取文本包含特定字元串的整行並生成到一個新的文本文件里
b=[xforxin大茄禪open('a.txt').readlines()ifx.find('<XYZ>')>-1]
with滾塵open('納寬b.txt','w')asf:
f.writelines(b)
2. 輸入的證件編號中包含中文信息或特殊字元怎麼解決
在 Python 中處理包含中文信息或特殊字元的證件編號,需要使用正確的編碼方式進行處理。通常情況下,可以使用 Unicode 編碼方式來處理這些字元。
在 Python 3.x 版本中,默認採用的是 Unicode 編碼方式,因此只需神乎要在代碼中直接使用字元串即可。例如:
id_number = "蘇ICP備12345678號"
如果你需要從文件中讀取包含中文信息或特殊字元的證件編號,則需要指定正確的編液液碼方式。例如,如果文件採用 UTF-8 編碼方式保存,則可以使用以下代碼進行游埋悉讀取:
with open("id_numbers.txt", encoding="utf-8") as f:
id_numbers = f.readlines()
這樣可以保證在讀取文件時,中文信息和特殊字元不會出現亂碼。
3. python里有能處理特殊字元的庫么
自己寫個函數
針對這里的問題,我們可以先將文件名解碼成unicode,然後用gbk編碼,如果拋出異常,說明編碼失敗,即文件名中存在特殊字元。下面是一個小例子:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
file_names = ["œ®特殊字元.txt",
"沒有特殊字元.txt",
"ßååå.txt"
]
for file_name in file_names:
try:
file_name.decode("utf-8").encode("gbk")
print file_name, "..."
except UnicodeEncodeError:
print file_name, "中獎"
"""outputs:
œ®特殊字元.txt 中獎
沒有特殊字元.txt ...
ßååå.txt 中獎
"""
4. python怎麼讀取文件名中包含特殊字元的文件 比如xiân.txt
我都沒用過listdit。
但是,去找了下其使用說明:
os.listdir(path)
.Thelistisinarbitraryorder.Itdoesnotincludethespecial
entries'.'and'..'eveniftheyarepresentinthe
directory.
Availability:Unix,Windows.
Changedinversion2.3:OnWindowsNT/2k/XPandUnix,ifpathisaUnicodeobject,theresultwillbe
alistofUnicodeobjects.
stringobjects.
所以:
你可以試試,傳入路徑是unicode,比如:
foundDirList=os.listdir(u"在這里輸入你的")然後,輸出的list中的文件名列表,就都是unicode了,就可以正常顯示出你要的,包括特殊字元的文件名了。
然後你就可以正常的打開了。
當然,後續處理文件時,如果是中文等非ASCII的話,也是要了解涉及到字元編碼的。這時候,最好用codecs模塊。如何使用,參見:
【教程】用Python的codecs處理各種字元編碼的字元串和文件這里不能貼地址,google搜標題即可找到帖子。
5. 如何用Python語言實現在一個文件中查找特定的字元串
targetstr 為特定字元串
filename為文滲銷臘件名
with open(filename,'r')as fp:
for line in fp:
if targetstr in line:
print line
這樣就找到特定字叢滑符串所在的斗畝行內容了
6. python 如何提取特定字元中間的內容
解題思路是用正則表達式匹配帶@的單詞。
第一:正則表達式匹配 @ 開頭,後面跟隨多個英文字母,匹配到字元串後,把 @ 替換為空,就可以得到用戶名.
7. python 讀取txt文件特定字元串後面的數字,並寫入到另一個txt
分為兩個逗謹步驟
使用open函數打開文件,返迴文件句柄
使用文件句柄的read方法讀取文件內遲豎容
f=open('/path/to/the/file.txt')
txt=f.read()
txt文山旦基件的內容將會讀取待txt變數中
8. python中如何取出字元串中最後一個特定字元後的字元串
#在a中查找最後一個b後面的字元
a=""
b="H"
print(a[a.rfind(b):])
或:
str = "addhakshdaskhdsak-----12345.0"
str.find("12345.0") 找到"12345.0"所在位置的index
str[str.find("12345.0") - 1]即是需要的字元
(8)python讀取特殊字元擴展閱讀:
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
9. Python批量提取txt文件中的特定字元後的數字
2、待讀取文件
是以":"作為分隔符的數據,每一行以回車結束。此文件為XXX.train
3、讀取每一句中的漢字
1234567891011...file_train = os.path.join(rootDir,"data/train/rg_train_"+modle_date+"_"+aiscene+".train")with open(file_train, 'r')as fp:textlist = fp.readlines()for text in textlist:if ":" in text:L4ID = text.split(":")[-2]Msg = text.split(":")[-1]if query_start == Msg.strip(" "):print("Msg is in train:",Msg)...
代碼中先獲取文件,然後讀取每一行,然後以":"作為分隔符。(-1代表倒數第一個,-2代表倒數第二個)
不管是txt文件還是xml文件還是其他的,都可以用這種方法來批量替換文件中字元串:
1234567891011121314151617# -*- coding:utf-8 -*-__author__ = 'ShawDa'import globxmls = glob.glob('xml_files/*.xml')for one_xml in xmls:print(one_xml)f = open(one_xml, 'r+', encoding='utf-8')all_the_lines = f.readlines()f.seek(0)f.truncate()for line in all_the_lines:line = line.replace('dog', 'pig')line = line.replace('cat', 'bike')f.write(line)f.close()
10. python 截取特殊符號後面的字元串
s="01-1"
s1=s.split("-")
s2=int(s1[1])
如果都是只有一個 - 的話可以這樣就好...