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