我对代码很新,我在阅读文本文件时遇到了问题。 对于我的代码,我需要让用户键入一个特定的名称代码,以便继续执行代码。但是,用户可以使用各种名称代码,我不知道如何编写代码,如果您键入任何代码,则可以继续。
例如,文本文件看起来像这样
john123,X,X,X
susan233,X,X,X
康纳,X,X,X
我需要做的是接受名称标签,尽管它是什么,并能够打印出来。所有名称标签都在一列中。
file = open("paintingjobs.txt","r")
details = file.readlines()
for line in details:
estimatenum = input ("Please enter the estimate number.")
if estimatenum = line.split
这是我的代码到目前为止,但我不知道该怎么做才能看到名称标签是否有效让用户继续。
答案 0 :(得分:1)
这是另一种解决方案,没有pickle
。我假设您的凭据每行存储一个。如果没有,你需要告诉我它们是如何分开的。
name = 'John'
code = '1234'
with open('file.txt', 'r') as file:
possible_match = [line.replace(name, '') for line in file if name in line]
authenticated = False
for item in possible_match:
if code in tmp: # Or, e.g. int(code) == int(tmp)
authenticated = True
break
答案 1 :(得分:0)
您可以使用名为 try {
final Object o = new Object();
Field[] declaredFields = o.getClass().getDeclaredFields();
for (Field f : declaredFields) {
f.setAccessible(true);
if(f.getType().equals(int.class) || f.getType().equals(Integer.class)) {
f.setInt(o, -1);
}
if(f.getType().equals(long.class) || f.getType().equals(Long.class)) {
f.setLong(o, -1L);
}
if(f.getType().equals(double.class) || f.getType().equals(Double.class)) {
f.setDouble(o, -1.0D);
}
if(f.getType().equals(float.class) || f.getType().equals(Float.class)) {
f.setFloat(o, -1.0F);
}
if(f.getType().equals(byte.class) || f.getType().equals(Byte.class)) {
f.setByte(o, (byte)-1);
}
if(f.getType().equals(char.class) || f.getType().equals(Character.class)) {
f.setChar(o, (char)-1);
}
if(f.getType().equals(String.class)) {
f.set(o, "value");
}
else {
f.set(o, null);
}
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
的模块。这是一个Python 3.0内部库。在Python 2.0中,它被称为:pickle
;两者中的其他一切都是一样的。
请注意,您执行此操作的方式并不安全!
cPickle
这会保存名为from pickle import dump
credentials = {
'John': 1234,
'James': 4321,
'Julie': 6789
}
dump(credentials, open("credentials.p", "wb"))
的文件。您可以按如下方式加载:
credentials.p
以下是一些测试:
from pickle import load
credentials = load(open("credentials.p", "rb"))
print(credentials)
这相当于:
test_name = 'John'
test_code = 1234
显示:print('Test: ', credentials[test_name] == test_code)
显示:{'John': 1234, 'James': 4321, 'Julie': 6789}
Test: True
显示:test_code = 2343
print('Test:', credentials[test_name] == test_code)