« Aucun fichier ou répertoire » en Python

voix
-1

Je suis en train de créer un programme de chiffrement qui est également capable d'utiliser un nom d'utilisateur et mot de passe pour accéder, à côté du mot de passe pouvant être changé, cependant, je reçois l'erreur suivante lorsque vous essayez de lire le mot de passe d'un fichier.

Traceback (most recent call last):
  File C:/Users/Matthew/AppData/Local/Programs/Python/Python37-32/a.py, line 28, in <module>
    password()
  File C:/Users/Matthew/AppData/Local/Programs/Python/Python37-32/a.py, line 9, in password
    var2 = open(Users\Matthew\AppData\Local\Programs\Python\Python37-32\password.txt,r)
FileNotFoundError: [Errno 2] No such file or directory: 'Users\\Matthew\\AppData\\Local\\Programs\\Python\\Python37-32\\password.txt'

Mot de passe est enregistré dans le Users\Matthew\AppData\Local\Programs\Python\Python37-32\password.txt directory.

Voici le code.

import os
import time
def password():
    while True:
        username = input (Enter Username: )
        password = input (Enter Password: )

        var1 = admin
        var2 = open(Users\Matthew\AppData\Local\Programs\Python\Python37-32\password.txt,r)
        if username == var1 and password == var2:
            time.sleep(1)
            print (Login successful!)
            answer = input(Do you wish to change your password (Y/N): )
            if input == Y or y:
                var2 = input(Enter new password: )
            elif input == N or n:
                break
            logged()
            break

        else:
            print (Password did not match!)

def logged():
    time.sleep(1)
    print (Welcome to the encryption program.)

password()

def main():
    result = 'Your message is: '
    message = ''
    choice = 'none'

    while choice != '-1':
        choice = input(\nDo you want to encrypt or decrypt the message?\nEnter 1 to Encrypt, 2 to Decrypt, -1 to Exit Program: )

        if choice == '1':
            message = input(\nEnter the message to encrypt: )

            for i in range(0, len(message)):
                result = result + chr(ord(message[i]) - 2)

                print (result + '\n\n')
                result = ''

        elif choice == '2':
            message = input(\nEnter the message to decrypt: )

            for i in range(0, len(message)):
                result = result + chr(ord(message[i]) + 2)

                print (result + '\n\n')
                result = ''

        elif choice != '-1':
            print (You have entered an invalid choice. Please try again.\n\n)

        elif choice == '-1':
            exit()

main()

Toute aide est la bienvenue, merci!

Créé 19/09/2018 à 13:21
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Fournir le chemin complet:

var2 = open("C:/Users/Matthew/AppData/Local/Programs/Python/Python37-32/password.txt","r")

Modifier:

Comme vous l' avez dit dans le commentaire que cela a fonctionné , mais le mot de passe a été marqué comme incorrect, donc j'ai de problèmes avec votre code.
Vous ne pouvez pas lire les données directement en ouvrant un fichier. Vous devrez utiliser la commande readpour obtenir les données:

file = open("C:/Users/Matthew/AppData/Local/Programs/Python/Python36/password.txt","r")
var2 = file.read()
file.close()

Votre deuxième problème de code est mise nouveau mot de passe. Le code que vous avez fait:

answer = input("Do you wish to change your password (Y/N): ")
if input == "Y" or "y":
    var2 = input("Enter new password: ")
elif input == "N" or "n":
    break

Ne pas utiliser inputpour voir la valeur, utilisez la variable dans laquelle vous avez enregistré les données d'entrée. Aussi lowerla chaîne pour le rendre facile:

answer = input("Do you wish to change your password (Y/N): ")
if answer.lower() == "y":
    var2 = input("Enter new password: ")
elif answer.lower() == "n":
    break

Le code complet peut être comme:

import os
import time
def password():
    while True:
        username = input ("Enter Username: ")
        password = input ("Enter Password: ")

        var1 = "admin"
        file = open("C:/Users/Matthew/AppData/Local/Programs/Python/Python36/password.txt","r")
        var2 = file.read()
        file.close()
        if username == var1 and password == var2:
            time.sleep(1)
            print ("Login successful!")
            answer = input("Do you wish to change your password (Y/N): ")
            if answer.lower() == "y":
                var2 = input("Enter new password: ")
            elif answer.lower() == "n":
                break
            logged()
            break

        else:
            print ("Incorrect Information!")

def logged():
    time.sleep(1)
    print ("Welcome to the Encryption program.")

password()

def main():
    result = 'Your message is: '
    message = ''
    choice = 'none'

    while choice != '-1':
        choice = input("\nDo you want to encrypt or decrypt the message?\nEnter 1 to Encrypt, 2 to Decrypt, -1 to Exit Program: ")

        if choice == '1':
            message = input("\nEnter the message to encrypt: ")

            for i in range(0, len(message)):
                result = result + chr(ord(message[i]) - 2)

                print (result + '\n\n')
                result = ''

        elif choice == '2':
            message = input("\nEnter the message to decrypt: ")

            for i in range(0, len(message)):
                result = result + chr(ord(message[i]) + 2)

                print (result + '\n\n')
                result = ''

        elif choice != '-1':
            print ("You have entered an invalid choice. Please try again.\n\n")

        elif choice == '-1':
            exit()

main()
Créé 19/09/2018 à 13:23
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more