`
qiaoqinqie
  • 浏览: 59920 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

python字符串转成列表

阅读更多

今天在看pygments的代码的时候,发现有一个类是 自生成式的  就是在main方法里面  通过一系列操作写文件

当然 这个文件就是他自己了

其中的代码片段

"""
    pygments.lexers._mapping
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer mapping defintions. This file is generated by itself. Everytime
    you change something on a builtin lexer defintion, run this script from
    the lexers folder to update it.

    Do not alter the LEXERS dictionary by hand.

    :copyright: Copyright 2006-2010 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
"""

LEXERS = {
    'ABAPLexer': ('pygments.lexers.other', 'ABAP', ('abap',), ('*.abap',), ('text/x-abap',)),
}

if __name__ == '__main__':
    import sys
    import os

    # lookup lexers
    found_lexers = []
    sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
    for filename in os.listdir('.'):
        if filename.endswith('.py') and not filename.startswith('_'):
            module_name = 'pygments.lexers.%s' % filename[:-3]
            print module_name
            module = __import__(module_name, None, None, [''])
            for lexer_name in module.__all__:
                lexer = getattr(module, lexer_name)
                found_lexers.append(
                    '%r: %r' % (lexer_name,
                                (module_name,
                                 lexer.name,
                                 tuple(lexer.aliases),
                                 tuple(lexer.filenames),
                                 tuple(lexer.mimetypes))))
    # sort them, that should make the diff files for svn smaller
    found_lexers.sort()

    # extract useful sourcecode from this file
    f = open(__file__)
    try:
        content = f.read()
    finally:
        f.close()
    header = content[:content.find('LEXERS = {')]
    footer = content[content.find("if __name__ == '__main__':"):]

    # write new file
    f = open(__file__, 'w')
    f.write(header)
    f.write('LEXERS = {\n    %s\n}\n\n' % ',\n    '.join(found_lexers))
    f.write(footer)
    f.close()

 

 

 

 

 

 

前面的是生成一个列表

 

 

关键是地方在

 

 # extract useful sourcecode from this file
    f = open(__file__)
    try:
        content = f.read()
    finally:
        f.close()
    header = content[:content.find('LEXERS = {')]
    footer = content[content.find("if __name__ == '__main__':"):]

    # write new file
    f = open(__file__, 'w')
    f.write(header)
    f.write('LEXERS = {\n    %s\n}\n\n' % ',\n    '.join(found_lexers))
    f.write(footer)
    f.close()
 

 

就是打开文件,然后依次写头部。写尾部。首先把文件读取出来。字符才转换成列表的形式

 

然后用find()的方法  找到要查找的串的第一个元素开始的位置。然后就是用列表的切片来截取了

 

 

 

有一个地方用了%r 格式化

 

经过我的测试  %r 和%s相比   %r会把回车换行这些转换成\n  

 

这样写文件的话  就不会因为系统的差异而导致文件格式不一致  甚至出现问题了

分享到:
评论

相关推荐

    C语言字符串转换为Python字符串的方法

    C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...

    python实现字符串模糊匹配

    Python 实现字符串模糊匹配 Python 是一种流行的编程语言,具有强大的字符串处理能力。字符串模糊匹配是字符串处理中的一种重要技术,用于解决字符串之间的相似度计算问题。在本文中,我们将介绍 Python 实现字符串...

    python实现字符串加密成纯数字

    在Python编程语言中,字符串加密通常用于保护敏感信息,使其在传输或存储时不被轻易解读。虽然本例中的加密方法可能并不适用于高安全性的场景,但作为初学者了解加密概念和基础实现的一个起点,它是相当实用的。我们...

    python字符串学习笔记.python字符串操作方法.doc

    Python字符串是编程中常用的数据类型,用于存储和处理文本信息。在Python中,字符串是由一个或多个字符组成的序列,它们可以被单引号(' ')或双引号(" ")包围。以下是一些关于Python字符串的重要知识点: 1. **字符...

    python 字符串.zip

    Python字符串是编程语言中至关重要的数据类型,用于存储和处理文本信息。在Python中,字符串是不可变的,意味着一旦创建,就不能改变其内容。这个特性使得字符串在处理文本时非常安全,但也意味着如果需要修改,必须...

    Python字符串调用方法及实例

    - `S.split([sep,[maxsplit]])`:以sep为分隔符将S分割成多个子字符串,返回一个列表。maxsplit指定最大分割次数,不指定则全分割。 - `S.rsplit([sep,[maxsplit]])`:从右侧开始分割字符串。 - `S.splitlines(...

    python字符串操作.pdf

    在给定的文件内容中,我们可以看到有关Python字符串操作的知识点。这些操作涉及到C语言风格的字符串函数模拟,但它们实际上并不是Python原生的字符串操作方法。Python语言本身就拥有强大的字符串处理能力,不过,...

    Python字符串操作常用函数

    Python字符串操作常用函数,包含了检索、统计、分割、替换、大小写转换、对齐,空格删除、字符串判断(头尾+组成)

    python字符串处理实例.docx

    print string.split('-', 2)` 将输出一个截取的字符串列表,但是截取的次数不超过指定的次数。 Python 中的字符串处理提供了多种方法来对齐、转义、连接和截取字符串,为 Python 编程提供了强大的字符串处理能力。

    Python 字符串操作方法大全

    **功能:** 使用分隔符连接字符串列表。 - 示例代码: ```python delimiter = ',' mylist = ['Brazil', 'Russia', 'India', 'China'] print(delimiter.join(mylist)) # 输出: "Brazil,Russia,India,China" ``` ...

    python串口发送数据与接收数据(文本转hex 接收字符串或者列表类型)

    python串口发送数据与接收数据(文本转hex 接收字符串或者列表类型)

    Python 清洗字符串和列表 Python源码

    Python 清洗字符串和列表 Python源码Python 清洗字符串和列表 Python源码Python 清洗字符串和列表 Python源码Python 清洗字符串和列表 Python源码Python 清洗字符串和列表 Python源码Python 清洗字符串和列表 Python...

    python字符串笔记.md

    python字符串学习笔记

    Python 如何实现字符串与列表等数据的去重 Python源码

    Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码Python 如何实现字符串与列表等数据的去重 Python源码...

    python字符串转列表

    将传入的值转换成列表,要求传入值要满足列表的合法符号。输出结果列表中的所有元素都会以字符串的形式展现。

    Python 字符串深度总结_Python 字符串深度总结

    Python字符串提供了一系列内置方法,如`lower()`、`upper()`、`title()`用于大小写转换,`split()`用于分割字符串,`join()`用于合并字符串列表,`replace()`用于替换子串,`strip()`用于去除两侧的空白字符等。...

    python 将list转成字符串,中间用符号分隔的方法

    在Python编程语言中,常常需要将列表(list)转换为字符串,并且在列表元素之间加入特定的分隔符,以满足输出格式化的需求。本文将详细介绍如何使用Python将list转换成字符串,并在元素之间插入自定义分隔符的方法。...

    Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】

    ### Python统计一个字符串中每个字符出现次数的方法 在Python编程中,经常需要处理字符串相关的任务,其中一项常见的需求就是统计一个字符串中每个字符出现的次数。这种方法不仅在文本分析中有广泛应用,也是学习...

    Python 拼接字符串、列表和字典 Python源码

    Python 拼接字符串、列表和字典 Python源码Python 拼接字符串、列表和字典 Python源码Python 拼接字符串、列表和字典 Python源码Python 拼接字符串、列表和字典 Python源码Python 拼接字符串、列表和字典 Python源码...

Global site tag (gtag.js) - Google Analytics