Python 随机字母生成器不工作

Python 随机字母生成器不工作,python,python-3.x,random,Python,Python 3.x,Random,我很难弄清楚如何编写一个脚本,它基本上是将一堆随机字母保存到不同的行的.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_let

我很难弄清楚如何编写一个脚本,它基本上是将一堆随机字母保存到不同的行的.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
随机导入
f=open(“test.txt”,“w”)#清除当前的test.txt文件
f、 关闭()
f=打开(“test.txt”、“a”)
b=0
def randomstring():
全球c
有效字母='abcdefghijklmnopqrstuvwxyz'
c=''.join(随机选择(有效字母))
b<10000时:
随机字符串()
f、 写入(c+“/n”)
b=b+1
f、 接近
这是什么输出

nn/nx/nx/nn/nn/nn/nn/nn/nn/NNX/nn/nn/nx/nn/nn/nj/nn/nn/nj/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nj/nj/nj/nj/nj/nj/nj/nj/nn/nj/nj/nn/nj/nj/nj/nj/nj/nj/nj/nn/nn/nj/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/nn/A/na/ni/n

我希望它输出的是

q

e

y

t


ect。谢谢

您没有正确地逃避它。转义如下:
\n
/n
转义是用反斜杠而不是正斜杠来完成的

详情如下:

while b < 10000:
    randomstring()
    f.write(c + "\n")
    b = b + 1
f.close

q
e
y
t
当b<10000时:
随机字符串()
f、 写入(c+“\n”)
b=b+1
f、 接近
Q
E
Y
T

此外,由于每次写入文件时都会清除该文件,为什么不直接将其作为
'w'
打开并写入呢。这会有效地覆盖文件,因此它会清除并写入文件。

您的转义错误。转义如下:
\n
/n
转义是用反斜杠而不是正斜杠来完成的

详情如下:

while b < 10000:
    randomstring()
    f.write(c + "\n")
    b = b + 1
f.close

q
e
y
t
当b<10000时:
随机字符串()
f、 写入(c+“\n”)
b=b+1
f、 接近
Q
E
Y
T

此外,由于每次写入文件时都会清除该文件,为什么不直接将其作为
'w'
打开并写入呢。这会有效地覆盖文件,因此它会清除并写入文件。

您的转义错误。转义如下:
\n
/n
转义是用反斜杠而不是正斜杠来完成的

详情如下:

while b < 10000:
    randomstring()
    f.write(c + "\n")
    b = b + 1
f.close

q
e
y
t
当b<10000时:
随机字符串()
f、 写入(c+“\n”)
b=b+1
f、 接近
Q
E
Y
T

此外,由于每次写入文件时都会清除该文件,为什么不直接将其作为
'w'
打开并写入呢。这会有效地覆盖文件,因此它会清除并写入文件。

您的转义错误。转义如下:
\n
/n
转义是用反斜杠而不是正斜杠来完成的

详情如下:

while b < 10000:
    randomstring()
    f.write(c + "\n")
    b = b + 1
f.close

q
e
y
t
当b<10000时:
随机字符串()
f、 写入(c+“\n”)
b=b+1
f、 接近
Q
E
Y
T

此外,由于每次写入文件时都会清除该文件,为什么不直接将其作为
'w'
打开并写入呢。这将有效地覆盖文件,因此它将清除文件并写入其中。

以下是一个已清理的版本:

# 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()

以下是一个已清理的版本:

# 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()

以下是一个已清理的版本:

# 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()

以下是一个已清理的版本:

# 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()

根据预期输出目标,通过
OS.linesep
使用OS下线标记通常更灵活。根据预期输出目标,通过
OS.linesep
使用OS下线标记通常更灵活。根据预期输出目标,通过
OS.linesep
使用OS EOL标记通常更灵活。根据预期的输出目标,通过
OS.linesep
使用OS EOL标记通常更灵活。如果我的回答有帮助,您介意接受吗?谢谢如果我的回答有帮助,你介意接受吗?谢谢如果我的回答有帮助,你介意接受吗?谢谢如果我的回答有帮助,你介意接受吗?谢谢