【问题标题】:Writing normal texts in python file在 python 文件中编写普通文本
【发布时间】:2014-06-25 18:27:09
【问题描述】:

这只是对python的好奇。有没有办法在 python 文件中编写任何内容而不会出现任何错误并且不使用 cmets?忽略这些行可能是宏/预处理器字/python 选项。
例如:

#!/usr/bin/python
# coding: utf-8

I am writing anything I want here!


def func1(number):
   print(number)

func1(3)

结果不会触发任何错误,打印数字 3。

一个类似的 C++ 问题:Force the compiler to ignore some lines in the program

【问题讨论】:

  • 作为评论?以“#”开头。
  • 抱歉,我刚刚编辑了问题:我的意思是,没有 cmets!
  • 这就是我问的原因。我想知道是否有可能(以某种方式)使用技巧/宏/代码/脚本或其他东西来抑制/忽略错误。无论如何,这只是好奇。
  • @almanegra 当你想抑制/忽略错误时,首先与之抗争的目的是什么,为什么不使用评论?
  • @aamir-adnan 我只想学习新功能。查看我刚刚附加到问题的链接。

标签: python


【解决方案1】:

如果您的目标是应用自定义预处理器,您可以使用 cmets 并可能在 cmets 之外添加一个特殊字符。这将类似于 #!文件顶部的命令。

例如,在下面,我只是使用了 M: 作为特殊前缀:

#!/usr/bin/python
# coding: utf-8

# M: I am writing anything I want here!


def func1(number):
   print(number)

func1(3)

【讨论】:

    【解决方案2】:

    没有 cmets:

    没有 cmets,您可以用引号括起来并分配给变量:

    tmp = "I am writing anything I want here!"
    

    这样:

    #!/usr/bin/python
    # coding: utf-8
    
    tmp = "I am writing anything I want here!"
    
    
    def func1(number):
       print(number)
    
    func1(3)
    

    使用 cmets

    你可以这样注释掉:

    1.多行 cmets/strings

    #!/usr/bin/python
    # coding: utf-8
    
    """I am writing anything I want here!
    Yep, literally anything!
    
    def func1(number):
       print(number)
    
    func1(3)
    

    2。单行cmets

    #!/usr/bin/python
    # coding: utf-8
    
    #I am writing anything I want here!
    
    
    def func1(number):
       print(number)
    
    func1(3)
    

    【讨论】:

      【解决方案3】:

      最简单的方法是在每一边加上三引号,虽然它在技术上不是 Pythonic 并且不应该留在最终草案中,因为它会创建一个未使用的字符串。这是切换中大型代码部分的最简单方法。比如:

      x = 5
      
      """ DEBUG:
      x += 5
      x *= 5 * 5
      x = x % 3
      x -= 2
      """
      
      print x
      

      如果是一两行,你总是可以使用普通的cmets,

      #like this
      

      对于您的代码,您需要:

      #!/usr/bin/python
      # coding: utf-8
      """
      I am writing anything I want here!
      """
      
      def func1(number):
        print(number)
      
      func1(3)
      

      【讨论】:

        【解决方案4】:

        我刚刚找到了我正在寻找的东西。

        我的问题可以在这里找到:

        Conditional compilation in Python

        https://code.google.com/p/pypreprocessor/

        【讨论】:

          猜你喜欢
          • 2017-07-08
          • 1970-01-01
          • 1970-01-01
          • 2016-01-31
          • 1970-01-01
          • 2016-07-21
          • 2020-10-20
          • 2021-08-25
          • 1970-01-01
          相关资源
          最近更新 更多