返回顶部
首页 > 资讯 > 后端开发 > Python >python str.format 中文
  • 360
分享到

python str.format 中文

中文pythonstr 2023-01-31 00:01:39 360人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题 像这样: 令人十分难受啊! #--------------------------------------------------------------------

写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题

像这样:

令人十分难受啊!

#-------------------------------------------------------------------------------------------------

 在此之前先说一下python中的.fORMat格式化输出

 

  Python2.6开始,可以使用str.format进行轻松的格式化,
如上可以看到,对变量的处理简洁灵活,此外对数字的各种位数处理也很到位
{:<x}的语法表示左对齐(>为右对齐,^为居中),少于x位自动补齐(默认为空格补齐)
这里值得注意的是,x也可以作为变量代入:
  py虽好,有些细节还是没有照顾到中文
这里补齐长度时中文字符也按1字节计算了,
然而我们知道,utf-8中中文占用3个字节,GBK中占用了2个字节,只算作1字节显然不能对齐
这时求助于prettytable包输出表格,然而输出也不理想,可以想象也没有考虑中文编码的问题(或是需要设置编码为utf-8或gbk?)
分析一下理想的name所占的长度,应为固定的x字节(这里按目前的爬取结果暂时取22)
那么他的补齐长度应为
len = 22 - gbk编码下name的字节数 + name的字符数
幸运的是str.format支持使用变量代替补齐长度的值
尝试以下代码:
print('[{name:<{len}}x'.format(name=name+']',len=22-len(name.encode('GBK'))+len(name)))结果十分接近理想了:

  还是有一些迷之问题导致1-0.5字节长度的偏差,猜测是由于中文字体不是等宽字体的缘故?
然而不用多虑,这里就可以使用一记粗暴的制表符\t解决问题了
print('[{name:<{len}}\tx'.format(name=name+']',len=22-len(name.encode('GBK'))+len(name)))

 


作者:killercars
来源:CSDN
原文:https://blog.csdn.net/excaliburrr/article/details/76794451
版权声明:本文为博主原创文章,转载请附上博文链接!

--结束END--

本文标题: python str.format 中文

本文链接: https://lsjlt.com/news/182213.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python str.format 中文
    写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题 像这样: 令人十分难受啊! #--------------------------------------------------------------------...
    99+
    2023-01-31
    中文 python str
  • Python中str.format()详解
    1. str.format 的引入 在 Python 中,我们可以使用 + 来连接字符串,在简单情况下这种方式能够很好的工作。但是当我们需要进行复杂的字符串连接时,如果依然使用 + 来完成,不仅会使代码变...
    99+
    2022-06-04
    详解 Python str
  • python str.format知识点
    在Python3.6.5版本测试通过 语法 str.format(*args, **kwargs) 它通过{}和:来代替%。 "映射”示例: 1.通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[...
    99+
    2023-01-30
    知识点 python str
  • Python中str.format()和f-string的使用
    目录方式一 (str.format()) :print('{}'.format(var))方式二 (f-string) :print(f'{var}'...
    99+
    2023-02-27
    Python str.format() Python f-string
  • Python中str.format()方法的具体使用
    目录1. 术语说明 2. 简单字段名 2.1 简单字段名的说明 2.2 省略字段名 2.3 数字形式的简单字段名 2.4 变量名形式的简单字段名 2.5 简单字段名的混合使用 2.6...
    99+
    2024-04-02
  • Python中str.format()和f-string如何使用
    这篇文章主要介绍“Python中str.format()和f-string如何使用”,在日常操作中,相信很多人在Python中str.format()和f-string如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-05
  • python字符串str.format()方法详解
    一、str.format()方法详解 1.定义和用法 format() 方法格式化指定的值,并将其插入字符串的占位符内。占位符使用大括号 {} 定义,可以使用命名索引 {price}、编号索引{0}、...
    99+
    2023-09-05
    python 开发语言
  • Python中字符串格式化str.format的详细介绍
    前言 Python 在 2.6 版本中新加了一个字符串格式化方法: str.format() 。它的基本语法是通过 {} 和 : 来代替以前的 %.。 格式化时的占位符语法: replacement_f...
    99+
    2022-06-04
    详细介绍 字符串 Python
  • python开发之str.format()用法实例分析
    本文实例分析了python开发之str.format()用法。分享给大家供大家参考,具体如下: 格式化一个字符串的输出结果,我们在很多地方都可以看到,如:c/c++中都有见过 下面看看python中的字符串...
    99+
    2022-06-04
    实例 python str
  • Python如何用str.format()批量生成网址(豆瓣读书为例)
    目录1 用法说明1.1 写法1.2 举例2 应用:豆瓣读书2.1 初步2.2 分析URL2.3 生成参考链接:1 用法说明 str.format() 方法通过字符串中的花括号 {} ...
    99+
    2024-04-02
  • selenium-python中文版文
    安装 1.1. 简介 Selenium Python提供了一个简单的绑定式API来使用Selenium WebDriver编写功能/验收测试。通过Selenium Python API,您可以以一种直观的方式访问Selenium WebD...
    99+
    2023-01-31
    中文版 selenium python
  • [Python ] python中文件的
    原文地址: http://blog.163.com/qimeizhen8808@126/ 这女孩写的挺好,有值得学习的地方。   1) 文件的打开和创建,关闭  a)文件的打开和创建 主要有两个open()和file()两个方法。它们的功能...
    99+
    2023-01-31
    文件 Python python
  • Python json.dumps 中文
        需要对外提供一个接口,输出的内容里有中文。结果打开一看,返回的是这么一串东西。"owner": "\u8d75\u7acb\u5792"    其实,这是用ASCII输出的转义字符,解决起来很简单。json.dumps方法有一个en...
    99+
    2023-01-31
    中文 Python json
  • 中文Python:中文编程不是梦
    我曾经与一位朋友讨论有没有可能用中文编程。当然计算机语言毕竟不是自然语言,但是目前大多数计算机语言(包括内置函数和库函数)都是基于英语的。所以,你会写System.PrintScreen(“Hello”),而不是Sistemo.Skribu...
    99+
    2023-01-31
    中文 不是梦 Python
  • Python、Unicode和中文
    Python、Unicode和中文 python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 先来看看python...
    99+
    2023-01-31
    中文 Python Unicode
  • Appium Python API 中文
    Appium_Python_Api文档1.contextscontexts(self):    Returns the contexts within the current session.     返回当前会话中的上下文,使用后可以识别...
    99+
    2023-01-31
    中文 Appium Python
  • python读取中文txt文本
    对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unicode编码成另一种编码。 先用一些编...
    99+
    2023-01-31
    中文 文本 python
  • python logging输入文件中文
    Python版本3.6 解决方法很简单,在定义Filehandler时指定encoding就好了 import logging file_hanlder = logging.FileHandler(filename='exampl...
    99+
    2023-01-31
    中文 文件 python
  • 【Python】官方文档中文版
    Python官方文档中文版应该是正在翻译中,现在官网貌似找不到入口,但是可以通过访问进入。 在文档url后面加上zh-cn即可。https://docs.python.org/zh-cn/,里面还有很多内容是英文的。     直接找找不到...
    99+
    2023-01-31
    中文版 文档 官方
  • python中文编码&json中文输出问
    python2.x版本的字符编码有时让人很头疼,遇到问题,网上方法可以解决错误,但对原理还是一知半解,本文主要介绍 python 中字符串处理的原理,附带解决 json 文件输出时,显示中文而非 unicode 问题。首先简要介绍字符串编...
    99+
    2023-01-30
    中文 python json
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作