在终端或python中打印x个字符?

时间:2012-06-27 23:03:45

标签: python linux

如果我需要x个字符来测试我的程序,有没有办法用linux中的终端快速生成它们?还是在python? 例如,我想测试当我输入80个字符时我的程序是否中断。但是,我希望能够在终端中生成80个字符,然后将其粘贴到我的程序(或管道等),而不是写80个字符。 我试过了:

>>> for item in range (1,80):
...     print "x",

它可以工作,但它打印x,中间有空格,超过80个字符

5 个答案:

答案 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程序的名称