如果我需要 x 数量的字符来测试我的程序,有没有办法在 linux 中使用终端快速生成它们?还是在python中?例如,我想测试当我输入 80 个字符时我的程序是否中断。但我不想写 80 个字符,而是希望能够在终端中生成 80 个字符,然后将其复制粘贴到我的程序(或管道等)。我试着做:
>>> for item in range (1,80):
... print "x",
它可以工作,但它打印 x 之间有超过 80 个字符的空格
在 Python 中,乘法运算符*
可以应用于字符串。
print "x" * 80
在外壳上,您可以滥用seq
:
% seq -f foo -s '' 10
foofoofoofoofoofoofoofoofoofoo
如果您希望字符串用换行符分隔,使用yes
最简单:
% yes
y
y
y
...
% yes foo
foo
foo
foo
...
% yes twice | head -2
twice
twice
它必须是'x'吗?对于随机字符串,您可以在 shell 中使用它
$ dd if=/dev/urandom count=80 bs=1
试试这个:
print "x" * 80
或者
print "".join([str(x) for x in xrange(80)])
这将生成长列表
你可以在一个字符上使用 * 操作符来重复它 80 次。所以只需制作一个名为“out.py”的小文件,其中包含该行
print 'x' * 80
然后写
$ python out.py | python prgm.py
在终端中 prgm.py 是你的 python 程序的名称