|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 孜然爱爱 于 2020-7-15 22:55 编辑
- def get_suffix(filename, has_dot=False):
- """
- 获取文件名的后缀名
- :param filename: 文件名
- :param has_dot: 返回的后缀名是否需要带点
- :return: 文件的后缀名
- """
- pos = filename.rfind('.')
- if 0 < pos < len(filename) - 1:
- index = pos if has_dot else pos + 1
- return filename[index:]
- else:
- return ''
复制代码
这个代码除了 pos = filename.rfind('.') 看明白了之外其他的都不太懂
请大神们解答一下,万分感谢!!
[b]
这里的 has_dot 参数就是为了返回的后缀是否带 .
当 has_dot 为 True 时候,返回的后缀带 . 比如 .txt .py
当 has_dot 为 False 时候,返回的后缀不带 . 比如 txt py
- def get_suffix(filename, has_dot=False):
- """
- 获取文件名的后缀名
- :param filename: 文件名
- :param has_dot: 返回的后缀名是否需要带点
- :return: 文件的后缀名
- """
- pos = filename.rfind('.') # 从右往左获取 . 的位置参数
- if 0 < pos < len(filename) - 1: # 只要有找到 . 返回的值一定大于 -1
- index = pos if has_dot else pos + 1 # 三元运算符,如果 has_dot 为 True ,那么返回 pos ,反之返回 pos + 1
- # 其实这个参数的作用就是是否保留 . 如果index = pos + 1 那么就不保留 . 反之如果返回的是 index = pos 那么保留 .
- return filename[index:]
- # 返回后缀,当 has_dot 参数为 True 时候返回带 . 的后缀
- # 当 has_dot 参数为 False 时候返回不带 . 的后缀
- else:
- return '' # 这个就是当 pos = -1的时候 也就是没找到 . 也就没有文件后缀,返回空字符串
复制代码
[/b]
|
|