1
小狗命令
该puppy实用程序将文件名作为输入,并且完全按照您希望小狗执行的操作:将它切碎! 如何切碎 用牙齿撕开页面将输入文件换行。 用爪子撕开每一页对于每一行(不包括换行符),选择一个随机整数,n例如2 <= n <= # of characters in the line。将行拆分n为随机长度的非空非重叠子字符串。 将碎片分散在整个地板上在当前目录中,将每行的每个子字符串输出到唯一的随机文件名([a-zA-Z0-9]仅,任何一致的扩展名,包括none和length 1 <= n <= 12)。只要不干扰提交的运行,就可以覆盖当前目录中的现有文件(包括输入文件,如果它位于当前目录中)。 澄清说明 永远不会有可能耗尽所有可能的文件名的输入。 文件将仅包含可打印的ASCII(序号32-127)和换行符,并将使用UNIX / Linux样式的行尾(LF,而不是Windows样式的CRLF)。 只要每个输出文件都具有尾随换行符,就可以接受输出文件中的尾随换行符,但这不是必需的。您可以选择输入文件是否包含尾随换行符。 输入中的每一行将至少包含2个字符。 所选的随机值必须从给定的一组可能值的均匀随机分布中选择。 如果您的语言无法执行文件I / O,则可以将输入文件的内容作为输入,然后输出代表输出文件名和该文件文本的字符串对。但是,您提交的内容将不符合获奖资格。 例 参考实现: #!/usr/bin/env python3 import random import string import sys fname = sys.argv[1] with open(fname) as f: txt = f.read().rstrip().split('\n') …