通過乙個例子來熟悉檔案的基本操作:建立檔案,讀取檔案,修改檔案,刪除檔案,重新命名檔案,判斷檔案是否存在
1'''2
編寫可供查詢的員工資訊表--學號 姓名 年齡 班級
31. 提供格式化查詢介面
42. 允許使用者新增或者刪除員工資訊
5'''
6import
os7 employee_dir = '
employee_list
'8 index=employee_dir+"
/index"9
1011
if(not
os.path.exists(employee_dir)):
12 os.mkdir(employee_dir,777)
1314
defadd_student(id,name,age,_class):
15 local_file = employee_dir+"
/"+str(id)
16if
(os.path.isfile(local_file)):
17print("
id: %s 已經存在,請重新新增
" %(id))
18else
:19 f=open(local_file,"w"
)20 f.write(name+"
\t"+str(age)+"
\t"+_class)
21f.close()
22 f=open(index,"a"
)23 f.write(str(id)+"
\t"+name+"\n"
)24f.close()
25print("
id=%s新增成功
" %id)
2627
def select_student(**kwargs):
28for key in
kwargs.keys():
29if(key=='id'
):30 local_file = employee_dir+"
/"+str(kwargs[key])
31if(not
os.path.isfile(local_file)):
32print("
不存在id:
",kwargs[key])
33else
:34 f=open(local_file,"r"
)35print
(kwargs[key],f.read())
36elif(key=='
name'):
37if(not
os.path.isfile(index)):
38print("
不存在name:
",kwargs[key])
39else
:40 i=0
41 f=open(index,"r"
)42for line in
f.readlines():
43 id,name = line.strip().split("\t"
)44if(name ==kwargs[key]):
45 i=i+1
46 select_student(id=id)
47if(i==0):
48print("
不存在name:
",kwargs[key])
49else:50
print("
無效的獲取方式,只能通過id和name來獲取!")
5152
53def
modify_student(id,name,age,_class):
54 local_file = employee_dir+"
/"+str(id)
55if
(os.path.isfile(local_file)):
56os.remove(local_file)
57rm_line(index,id)
58add_student(id,name,age,_class)
59print("
id=%s修改成功
" %id)
60else:61
print("
id: %s 不存在,請先新增
" %(id))
6263
def delete_student(**kwargs):
64for key in
kwargs.keys():
65if(key=='id'
):66 local_file = employee_dir+"
/"+str(kwargs[key])
67if(not
os.path.isfile(local_file)):
68print("
不存在id:
",kwargs[key],"
,無法刪除")
69else:70
os.remove(local_file)
71rm_line(index,kwargs[key])
72print("
刪除id=%s成功
" %kwargs[key])
73elif(key=='
name'):
74if(not
os.path.isfile(index)):
75print("
不存在name:
",kwargs[key],"
,無法刪除")
76else
:77 i=0
78 f=open(index,"r"
)79for line in
f.readlines():
80 id,name = line.strip().split("\t"
)81if(name ==kwargs[key]):
82 i=i+1
83 delete_student(id=id)
84if(i==0):
85print("
不存在name:
",kwargs[key],"
,無法刪除")
86else:87
print("
無效的刪除方式,只能通過id和name來刪除!")
8889
defrm_line(file,id):
90if(not
os.path.isfile(file)):
91print("
不存在檔案:
",file)
92else
:93 f= open(file,"r"
)94 of = open(file+"
.tmp
","w")
95for line in
f.readlines():
96 localid,localname = line.strip().split("\t"
)97if(str(id)==localid):
98pass
99else
:100
of.write(line,)
101f.close()
102of.close()
103if(os.path.isfile(file+"
.tmpt
")): os.remove(file+"
.tmpt")
104 os.rename(file,file+"
.tmpt")
105 os.rename(file+"
.tmp
",file)
Linux高階篇 檔案系統
本博目錄 在 linux入門篇 初識linux 這篇文章,我們了解了關於linux的基本使用者管理和檔案管理,現在,我們研究下linux的另乙個重要的概念 檔案系統。對於linux,一切皆是檔案,在計算機系統中,磁碟就是用來儲存這些檔案的。但對於磁碟來說,只有0和1的概念,根本沒有檔案和目錄的概念,...
python 檔案系統
python的檔案系統 跟python的檔案相關的十分有用的模組 1 模組的概念 每乙個源 檔案 py 都是乙個模組 2 python自帶的實用模組 1 random模組的randint 函式生成隨機數,不可直接呼叫,需要import語句匯入模組,然後再使用 import random random...
python檔案系統
命令 描述os.getcwd 得到當前工作的目錄 os.listdir 指定所有目錄下所有的檔案和目錄名,以列表的形式返回 os.mkdir 建立目錄 os.rmdir 刪除指定目錄 os.remove 刪除指定檔案 os.rename 修改檔案或資料夾的名稱 os.path.isfile 判斷指定...