Python常用函数笔记

replace,find

replace:

#replace函数用来替换字符串中的某一个子串,替换成新的子串
str='123456'
s1=str.replace('23','aa')#将str字符串中的子串‘23’替换成子串‘aa’

#在保护隐私方面可以使用replace,隐藏电话号码
phone_number = '1386-666-0006'
hiding_number = phone_number.replace(phone_number[:9],'*' * 9)
print(hiding_number)

find:

#find 用来查找字符串中的一个子串,返回它的索引位置
#若不存在,返回-1
str='123456'
index=str.find('23')  #返回索引位置1

search = '168'
num_a = '1386-168-0006'
num_b = '1681-222-0006'
print(search + ' is at ' + str(num_a.find(search)) + ' to '+ str(num_a.find(search) + len(search)) + ' of num_a')
print(search + ' is at ' + str(num_b.find(search)) + ' to '+ str(num_b.find(search) + len(search)) + ' of num_b')

列表: 

#查找字符串中的某一元素,是从下标0开始的
#想获取字符串中的一个子串,使用[:]方法
str='abcde'
#获取'cd'
s0 = str[:]  #将字符串放入列表中
s1 = str[2:4] #获取下标从2到4的元素(但不包括4,是一个左开右闭的区间)
s2 = str[2:]  #获取从下标2直到末尾的元素
s3 = str[:4] 

format:

#在花括号里可以自定义顺序
 string1 = 'my {1} {0}'.format('world','apple') #输出my apple world

#花括号里可以定义名字,这种方式更方便;
 string2 = 'my {a} {b}'.format(a='world', b='apple')
#还可以用来输入字符然后插入字符串中
str1="this is {name}".format(name=input())
print(str1)

读写文件:

写入:

import os
path=r'F:\paper\data\test'
#读取图片
def get_files(filename):
    for label_name in os.listdir(filename):#该位置的每个文件夹        
        for pic in glob.glob(filename+'\\'+label_name+'\\'+'*.jpg'):#每个文件夹里面的图片
            with open('data.txt','a') as f:
                #'a'是接着文档后面写;'w'是直接覆盖原文件
                f.write(pic+'\n')
get_files(path)

读取:

filename = 'data.txt'
with open(filename) as file_object:
    for line in file_object:
        a = line.rstrip()
        print (a)

选择读取txt中的数据:

import linecache
file_path = "data.txt"

def get_line_context(file_path, i):
        return linecache.getline(file_path, line_number).strip()
for j in range (3):
    if (os.path.exists('data2.txt')):
        os.remove('data2.txt')
    for i in range(20):
        line_number =i+j*20
        pic = get_line_context(file_path,line_number)
        with open('data2.txt','a') as f:
                f.write(pic+'\n')
#每次读取data.txt中的20行数据写入data2.txt中,在下一次读取数据时删除上一次写入的20行数据

参考https://blog.csdn.net/jasonLee_lijiaqi/article/details/78746666

猜你喜欢

转载自blog.csdn.net/qq_38342886/article/details/89350189