我想做一个数据库之类的东西,但我的r+,w+和a+不工作,我必须关闭文件,并在不同的模式下再次打开,以执行每一个操作。这是代码,但当我写相同的只有一个文件对象和模式作为r+或w+或rw+或r+w和相同的组合r和a它不会打印。它只是写入文件,但不打印行。你知道吗
import os;
import sys;
def fileInput(numOfEmployees):
for i in range(numOfEmployees):
empId, empFName, empLName, empSalary, empEmailId = raw_input("Enter employee id: "), raw_input("Enter employee first name: "), raw_input("Enter employee last name: "), raw_input("Enter employee salary: "), raw_input("Enter employee Email ID: ");
string = empId+" "+empFName+" "+empLName+" "+empSalary+" "+empEmailId+"\n";
fw.write(string);
def fileSearch(searchStr, fr):
line = fr.readline();
while line:
empId, empFName, empLName, empSalary, empEmailId = line.split();
if(searchStr == empFName):
print line;
line = fr.readline();
def main():
numOfEmployees = input("Enter the number of employees: ");
fileInput(numOfEmployees);
fw.close();
searchStr = raw_input("Enter the name of the employee you want to search: ");
fr = open(string, "r");
fileSearch(searchStr, fr);
fr.close();
try:
string = os.path.dirname(os.path.realpath(__file__))+"/FileIO.txt";
fw = open(string, "w");
main();
except KeyboardInterrupt:
fr.close();
fw.close();
sys.exit();
1)如果您使用单个文件句柄(例如:fw或fr),请记住,当您读取文件时,光标会向下移动文件。您必须将光标“向后滚动”到顶部(请参见
seek
)2)“rw”将覆盖上一个文件,从上一次运行中删除上一个条目。使用“a+”
试试这个:
相关问题 更多 >
编程相关推荐