Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;没有这样的文件或目录;用Python_Python - Fatal编程技术网

&引用;没有这样的文件或目录;用Python

&引用;没有这样的文件或目录;用Python,python,Python,我正在尝试创建一个加密程序,该程序还可以使用用户名和密码进行访问,同时还可以更改密码。但是,在尝试从文件读取密码时,我遇到了以下错误 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

我正在尝试创建一个加密程序,该程序还可以使用用户名和密码进行访问,同时还可以更改密码。但是,在尝试从文件读取密码时,我遇到了以下错误

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'

感谢您的帮助,谢谢

提供完整的路径:

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

编辑: 正如您在评论中所说,它可以工作,但密码被标记为不正确,因此我修复了您的代码问题。
无法通过打开文件直接读取数据。您必须使用命令
read
获取数据:

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

第二个代码问题是设置新密码。您制作的代码:

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
不要使用
input
查看值,请使用存储输入数据的变量。同时
lower
字符串以使其更简单:

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

完整代码可以如下所示:

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

它的工作原理是这样的,但出于某种原因,它指出密码是错误的,而不应该是错误的,因为密码是“admins”。
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()