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])
如果都是只有一个 - 的话可以这样就好...