Python 这是有效的奎因吗? def start(文件名): fileReader=打开(文件名) 对于fileReader中的行: 打印行, 如果名称=“\uuuuu main\uuuuuuuu”: 导入系统 如果len(sys.argv)

Python 这是有效的奎因吗? def start(文件名): fileReader=打开(文件名) 对于fileReader中的行: 打印行, 如果名称=“\uuuuu main\uuuuuuuu”: 导入系统 如果len(sys.argv),python,quine,Python,Quine,Quines无法访问文件系统,那么正如Wikipedia所说,“允许输入将允许源代码通过键盘输入到程序,打开程序的源文件,以及类似的机制。” 参考: 不,奎因不应接受任何输入: 奎因不需要输入。允许输入将允许源代码通过键盘输入程序,打开程序的源文件,以及类似的机制 从 更新 你需要将来源编码到奎因本身。quine由两部分组成:进行实际打印的代码和表示源代码的数据。它似乎是递归的,但实际上不是。对于一个好的奎因教程,我建议检查;这就是我用自己设计的语言创建奎因的原因。我相信奎因的全部意义在于没有这

Quines无法访问文件系统,那么正如Wikipedia所说,“允许输入将允许源代码通过键盘输入到程序,打开程序的源文件,以及类似的机制。”

参考:

不,奎因不应接受任何输入:

奎因不需要输入。允许输入将允许源代码通过键盘输入程序,打开程序的源文件,以及类似的机制

更新


你需要将来源编码到奎因本身。quine由两部分组成:进行实际打印的代码和表示源代码的数据。它似乎是递归的,但实际上不是。对于一个好的奎因教程,我建议检查;这就是我用自己设计的语言创建奎因的原因。

我相信奎因的全部意义在于没有这种间接层次:-)谢谢,我打赌赢了:-)(有些人不相信维基百科)
def start(fileName):
  fileReader = open(fileName)
  for row in fileReader:
    print row,

if __name__ == "__main__":
  import sys
  if len(sys.argv) <= 1:
    print "usage quine /path/to/file"
    sys.exit(-1)
  fileName = sys.argv[0]
  start(fileName)