我的代码:
with open('pass.txt') as f:
credentials = dict([x.strip().split(':') for x in f.readlines()]) # Created a dictionary with username:password items
name_input = input('Please Enter username: ')
if name_input in credentials: # Check if username is in the credentials dictionary
name_input = input('Please Enter new username: ')
f.write(name_input)
f.write(":")
pass_input = input('Please Enter password: ')
f.write(pass_input)
f.write("\n")
f.close()
print('Registered')
我收到此错误:
Traceback (most recent call last):
File "silwon.py", line 146, in <module>
f.write(name_input)
ValueError: I/O operation on closed file.
用户输入相同的用户名3次后如何使用sys.exit?
参考方案
Python中的每个文件操作都是在以特定模式打开的文件上完成的。必须将模式指定为open函数的参数,并且该模式确定可以对文件执行的操作以及文件指针的初始位置。
在您的代码中,您打开了文件,除了打开函数的名称之外,没有任何其他参数。如果未指定模式,则以默认模式-只读或'r'
打开文件。这会将文件指针放在文件的开头,使您能够顺序扫描文件的内容,并将它们读入程序中的变量。为了能够将数据写入文件,必须指定一种打开文件的模式,该模式可以将数据写入文件。可以从'w'
或'w+'
和'a'
或'a+'
两个选项中选择一种合适的模式。'w'
打开文件,并向用户授予访问权限,仅将数据写入文件,而不是从文件中读取数据。还将指针放在文件的开头,并覆盖所有现有数据。 'w+'
几乎相同,唯一的区别在于您也可以从文件中读取。'a'
打开文件进行写入,并将文件指针放在文件末尾,因此您不会覆盖文件内容。 'a+'
扩展了'a'
的功能,以允许从文件中读取数据。
使用合适的方式打开文件以适合您的需求,然后通过将open命令修改为open('pass.txt', <mode>)
来执行它。
我有此数据:ID TIME 1 2 1 4 1 2 2 3 我想按ID对数据进行分组,并计算平均时间和每组的大小。ID MEAN_TIME COUNT 1 2.67 3 2 3.00 1 如果运行此代码,则会收到错误“ValueError:无法插入ID,已经存在”:result = df.groupby(['ID']).agg({…
ValueError:未知标签类型:'未知' - python我尝试运行以下代码。顺便说一句,我是python和sklearn的新手。import pandas as pd import numpy as np from sklearn.linear_model import LogisticRegression # data import and preparation trainData = pd.read_csv…
ValueError:形状不匹配:无法将对象广播到单个形状 - python我正在使用SciPy的pearsonr(x,y)方法,但无法弄清为什么发生以下错误: ValueError:形状不匹配:无法将对象广播到单个形状它计算前两个(我正在循环中运行这些测试中的数千个),然后死亡。有人对问题可能有什么想法吗?r_num = n*(np.add.reduce(xm*ym)) 这是发生错误的pearsonr方法中的这一行,我们将不胜感激…
在返回'Response'(Python)中传递多个参数 - python我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…
openpyxl:ValueError:在关闭的文件上的I / O操作 - python我使用以下代码将图像logo.png放在logo.xlsx中的单元格A1处:from openpyxl import Workbook from openpyxl.drawing.image import Image wb = Workbook() ws = wb.active img = Image('logo.png') ws.add…