0

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

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

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

4

5 回答 5

4

在 Python 中,乘法运算符*可以应用于字符串。

print "x" * 80
于 2012-06-27T23:04:59.083 回答
3

在外壳上,您可以滥用seq

% seq -f foo -s '' 10
foofoofoofoofoofoofoofoofoofoo

如果您希望字符串用换行符分隔,使用yes最简单:

% yes
y
y
y
...
% yes foo
foo
foo
foo
...
% yes twice | head -2
twice
twice
于 2012-06-27T23:08:28.097 回答
2

它必须是'x'吗?对于随机字符串,您可以在 shell 中使用它

$ dd if=/dev/urandom count=80 bs=1 
于 2012-06-28T00:30:43.923 回答
0

试试这个:

print "x" * 80

或者

print "".join([str(x) for x in xrange(80)])

这将生成长列表

于 2012-06-27T23:08:26.043 回答
0

你可以在一个字符上使用 * 操作符来重复它 80 次。所以只需制作一个名为“out.py”的小文件,其中包含该行

print 'x' * 80

然后写

$ python out.py | python prgm.py

在终端中 prgm.py 是你的 python 程序的名称

于 2012-06-28T01:18:28.413 回答