我无法弄清楚如何编写一个脚本,基本上将一堆随机字母保存到不同行上的.txt。我现在拥有的是:
import random
f = open("test.txt", "w") #clears current test.txt file
f.close()
f = open("test.txt", "a")
b = 0
def randomstring():
global c
valid_letters='abcdefghijklmnopqrstuvwxyz'
c = ''.join(random.choice(valid_letters))
while b < 10000:
randomstring()
f.write(c + "/n")
b = b + 1
f.close
这是什么输出
Q / NE / NY / NT / NB /纳克/ NF /没有/ NU / NI / NR / NN / NH / NU / NR / NE / NX / NW / NR / NT / NS / NW / NK / NZ /没有/ NB / NK / NH / NX / NJ / NW / NU /没有/ NL / NV /纳米/ NI / NH / ND / NH /纳克/ NK / NP / ND / NA /没有/ NX / NN / NG / NB / NP / NH / NB / NX / NJ / NJ / NE / NR / NB / NU / NR / NH / NJ / NF / NW / NS / NL / NP / NC / NE / NH / NP / NU / NC / NW / ND / NT / NT / NA / NK / NP / NC /纳米/ NT / NT / NB / NW / NF)/(NF)/(NF / NA / NI / N
我希望它输出的是
q
ë
ý
吨
等。谢谢
答案 0 :(得分:4)
你正在错误地逃避它。转义如下:\n
而非/n
转义是通过反斜杠而不是正斜杠完成的。
如下:
while b < 10000:
randomstring()
f.write(c + "\n")
b = b + 1
f.close
q
e
y
t
此外,由于每次写入文件时都要清除文件,为什么不将其打开为'w'
并写入文件。这有效地覆盖了文件,因此它会清除它并写入文件。
答案 1 :(得分:-1)
这是一个清理版本:
# Assumes Python 3.x;
# for Python 2.x, range should be replaced with xrange
from random import choice
from string import ascii_lowercase
OUTPUT = "test.txt"
NUM_WORDS = 10000
WORD_LENGTH = 1
def random_word(length, alphabet=ascii_lowercase):
return ''.join(choice(alphabet) for i in range(length))
def main():
with open(OUTPUT, "w") as outf:
for i in range(NUM_WORDS):
word = random_word(WORD_LENGTH)
outf.write(word + "\n")
if __name__=="__main__":
main()