【问题标题】:Convert string to type of stdin or as a file would be imported?将字符串转换为标准输入类型或作为文件导入?
【发布时间】:2019-05-12 05:43:27
【问题描述】:

如何将多行字符串转换为标准输入或导入文件的类型?

我想在代码中定义一些多行字符串,可以将它们解释为好像是从文件或标准输入中导入的。原因是我希望文本在代码中而不是单独的文件中。

我想解决下面的伪X = convert(string),以便两个parse 产生相同的结果。

input = Open(file.txt)
string = """Hello
             world!"""

X = convert(string)

parse(input)
parse(X)

【问题讨论】:

    标签: python string input type-conversion stdin


    【解决方案1】:

    你可以使用io.StringIO:

    from io import StringIO
    
    string = """Hello
    world!"""
    
    X = StringIO(string)
    print(X.readlines()) # Example file operation
    # ['Hello\n', 'world!']
    

    【讨论】:

    • 谢谢!除了 ´"""string"""´ 之外,还有其他方法可以定义多行字符串吗?出于审美目的,将“Hello”与“world!”对齐会很好。
    • @Defindun 查看this question
    • 我推荐使用textwrap.dedent(),这样你就可以以自然的方式缩进三引号字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多