字符串操作-分解路径笔记

这篇博客介绍了如何使用Python进行字符串操作,特别是路径分解。文章详细讲解了如何找到路径中的'\'字符位置,利用切片提取文件路径、文件名和扩展名,并特别指出在处理扩展名时要考虑无扩展名的情况。还强调了调用函数传参、返回结果及在main函数中打印的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串操作-分解路径笔记

一、字符串操作:

代码引用

"""
    字符串处理
"""

if __name__ == '__main__':
    """
        统计子串出现的次数
    """
    str1 = "abc123abcdef987poiabcabab"
    print("子串统计", str1.count('abc'))

    """
        空白删除
        \r、\n、\t显示效果都是空白的
    """
    str2 = " \t \r\n    abc    \r\n    "
    print("空白删除", '[' + str2.lstrip() + ']')
    print("空白删除", '[' + str2.rstrip() + ']')
    print("空白删除", '[' + str2.strip() + ']')

    """
        大小写转换
    """
    str3 = "A Na Ta No Ko To Ga Su Ki De Su"
    print("大小写", str3.upper())
    print("大小写", str3.lower())

    """
        查找字符串所在位置
    """
    str4_1 = "ABC456ABC101112ABC"
    str4_2 = "abc456abc101112abc"
    print("查找", str4_1.find("abc"))
    print("查找", str4_2.find("abc"))
    print("查找", str4_2.find("abc", 2))
    print("查找", str4_2.find("abc", 7))
    print("查找", str4_2.rfind("abc"))

    """
        字符串替换
    """
    str5 = "123abc456qwe789abc"
    print("替换", str5.replace('abc', '|||'))
    print("替换", str5.replace('abc', '|||', 1))

    """
        字符串分割
    """
    str6 = "123abc456qwe789abcqqq"
    print("分割", str6.split('abc'))
    print("分割", str6.split('abc', 1))

    """
        字符串切片
    """
    string_test = "0123456789"
    print('删头:', string_test[2:])
    print('删尾:', string_test[:-2])
    print('Left:\t', string_test[:3])
    print('Right:\t', string_test[-3:])
    print('Mid:\t', string_test[1:3])
    print('Mid:\t', string_test[3:7])

二、题目:路径分解

   """
        作业
        已知文件路径 C:\Program Files (x86)\Internet Explorer\iexplore.exe
        通过方法可返回
            文件路径:C:\Program Files (x86)\Internet Explorer
            文件名:iexplore.exe
            文件扩展名:exe
            文件磁盘:C
        请设计并实现该函数,并使得传入任意文件路径都可以返回类似的信息。
    """
known_string1 = r"C:\Program Files (x86)\Internet Explorer\iexplore.exe"
known_string2 = r"C:\Windows\System32\notepad.exe"
known_string3 = r"C:\Users\zhmh\honey\gaoyu"

def split_file_path(full_file_path):
    r_position = full_file_path.rfind('\\')
    file_path = full_file_path[:r_position]
    file_name = full_file_path[-(len(full_file_path)-r_position-1):]
    d_position = file_name.rfind('.')
    if d_position != -1:
         ext_name = file_name[-(len(file_name)-d_position-1):]
    else:
        ext_name = ""
    drive_name = full_file_path[:1]
    return file_path, file_name, ext_name, drive_name
# end def
print(split_file_path(known_string1))
print(split_file_path(known_string2))
print(split_file_path(known_string3))

在这里插入图片描述
思路:观察路径格式可知,文件路径为从右边数第一个\之前的所有字符,文件名为从右边数第一个\之后的所有字符,扩展名为文件名中.后边的字符,此处注意没有扩展名的情况,磁盘为文件路径的第一个字符,可直接切第一个字符出来。
应用知识:查找、切片

注意点:

1、查找\字符位置

r_position = full_file_path.rfind(’\’)
d_position = file_name.rfind(’.’)

此处查找右边的第一个\ 为转义字符要用两个\,查找字符语句.rfind

2、切片

1、取\左边部分字符:

file_path = full_file_path[:r_position]

2、取\右边部分字符:用长度-\位置-1

file_name = full_file_path[-(len(full_file_path)-r_position-1):]

3、判断是否有扩展名,没有输出空串

if d_position != -1:
        ext_name = file_name[-(len(file_name)-d_position-1):]
 else:
        ext_name = ""

4、取路径第一位置:

drive_name = full_file_path[:1]

5、同时返回多个函数值:

return file_path, file_name, ext_name, drive_name

6、如何调用函数:

split_file_path(known_string1)

7、如何输出函数结果

print(split_file_path(known_string1))

三、补充知识:

1、字符串表示方法:

string1 = "String"          # 双引号
string2 = 'string'          # 单引号
string3 = """STT            # 可换行
ing"""
string4 = '''str
ING'''
string5 = r"C:\Windows"     # 开头加个r
string6 = r'C:\C:\Program Files'

四、记住:

调用函数要传入参数,如果要有输出结果,一定要return,main中一定要有print 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值