Python高階篇 檔案系統的操作

2022-09-16 15:06:08 字數 4122 閱讀 9099

通過乙個例子來熟悉檔案的基本操作:建立檔案,讀取檔案,修改檔案,刪除檔案,重新命名檔案,判斷檔案是否存在

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 判斷指定...