3
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)

python quine.py foo

4

2 回答 2

9

不,quine 不应该接受任何输入:

quine 不接受任何输入。允许输入将允许通过键盘将源代码提供给程序,打开程序的源文件,以及类似的机制。

来自奎因(计算)

更新

您需要将源编码为 quine 本身。quine 由两部分组成:执行实际打印的代码和表示源代码的数据。它似乎是递归的,但实际上并非如此。对于一个好的 quine 教程,我建议查看这个链接;这就是我用来用我设计的语言创建奎因的方法。

于 2010-06-15T17:43:03.720 回答
2

Quines 无法访问文件系统,所以不能。正如维基百科所说,“允许输入将允许通过键盘将源代码提供给程序,打开程序的源文件,以及类似的机制。”。

参考: 维基百科:Quine(计算)

于 2010-06-15T17:42:44.810 回答