繁体   English   中英

FileNotFoundError:[Errno 2]没有这样的文件或目录:

[英]FileNotFoundError: [Errno 2] No such file or directory:

count = 0
answer = ""
pass_pool={"CSRP":"","pos":"","erp":"","comverse":"","miki":"","citrix":""}
name = ""


def program_start():
    answer = input('Do you want to make some TXT with the same passwords? y\\n :')
    count = int(input('How many TXT files do you want to make?'))
    name = input('Enter the hot user id:')
    name = name+".TXT"
    password_collector() # collect password to pass_pool dictionary
    create_file() #create TXT file. it has to be in capital "TXT" 
    #for the safe program.

def create_file():
    newTXT = open(name, "w")
    newTXT.write(name + "\n \n" )
    for system , password in pass_pool.items():
        newTXT.write(system + ":" + password )
    newTXT.close()

我明白了:

File "C:\Python33\mypy\txt creator.py", line 16, in create_file
newTXT = open(name, "w")
FileNotFoundError: [Errno 2] No such file or directory:

从我在谷歌上看到的这个错误意味着错误的路径或文件未找到。 但我检查sys.path并在我的路径中看到"C:\\Python33\\mypy" ,我用"w"创建文件,所以它应该没有问题。

当我在shell中只使用create_file()函数时,它没有问题。

program_start设置name的值时,Python会在该函数的作用域中创建一个本地变量name ,这将掩盖全局name ,因此全局值保持不变。 create_file您使用未更改的全局name ,该name等于"" ,打开名为""的文件会出错。

快速和肮脏的修复将添加

global name

program_start的开头。 但写起来要清楚得多

count = 0
answer = ""
pass_pool={"CSRP":"","pos":"","erp":"","comverse":"","miki":"","citrix":""}

def program_start():
    answer = input('Do you want to make some TXT with the same passwords? y\\n :')
    count = int(input('How many TXT files do you want to make?'))
    name = input('Enter the hot user id:')
    name = name+".TXT"
    password_colector() # collect password to pass_pool dic
    create_file(name) #create TXT file. it has to be in capital "TXT"
    #for the safe pogram.

def create_file(name):
    newTXT = open(name, "w")
    newTXT.write(name + "\n \n" )
    for system , password in pass_pool.items():
        newTXT.write(system + ":" + password )
    newTXT.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM