簡體   English   中英

無法在python中換行?

[英]Can't get new line to work in python?

這是我當前用來嘗試換行的代碼。 可悲的是,它只是重寫了程序的第一行。 到底是怎么回事? 如果可以的話,我將非常感激。

import itertools
import string
import sys, os, cmd

from datetime import datetime
FMT = '%Y-%m-%d %H:%M:%S'
passwordstried = 0


numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0',]
symbols = ["!","@","#","$","%","^","&","*","(",")","_","-","'",'"',":",";","+","=","[","{","]","}","<",",",">",".","?","/","|","\"","~","`"]
lowercaseletters = ["q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","g","h","j","k","l","z","x","c","v","b","n","m"]
uppercaseletters = ["Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","G","H","J","K","L","Z","X","C","V","B","N","M"]


stuff = lowercaseletters + uppercaseletters + numbers + symbols


if (input("Do you have the length of the password?") == 'y'):
    lengthstartingvalue = int(input("Password length: "))
else:
    lengthstartingvalue = 1


starttime = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(starttime)


starttime = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
for L in range(lengthstartingvalue, len(stuff)+1):
    for subset in itertools.combinations_with_replacement(stuff, L):
        #print(subset)


        password = ''.join(subset)
        print(password)

        file = open("generatedpasswords.txt","w")
        file.write(str(password) + '\n')

        passwordstried = passwordstried + 1
    if (L>lengthstartingvalue+1):
        break

endtime = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
elapsed = datetime.strptime(endtime, FMT) - datetime.strptime(starttime, FMT)
print ('Time elapsed:',elapsed)
print ('Passwords tried:',passwordstried)
file.close()

您有問題要在循環內重新打開相同的文件...

file = open("generatedpasswords.txt","w")
for L in range(lengthstartingvalue, len(stuff)+1):
    for subset in itertools.combinations_with_replacement(stuff, L):
        #print(subset)


        password = ''.join(subset)
        print(password)


        file.write(str(password) + '\n')




        passwordstried = passwordstried + 1
    if (L>lengthstartingvalue+1):
        break

這將一次又一次地重新打開同一文件,並最終將最后一個密碼寫入該文件
如果您想附加當前密碼並且不想丟失以前的數據,則可以在for循環內使用file = open("generatedpasswords.txt","a") 。...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM