作業3月16號

2022-09-06 13:09:21 字數 3215 閱讀 9983

1、通用檔案copy工具實現

src_fire = input('

複製路徑》')

dsc_fire = input('

貼上路徑》')

with open(r'{}

'.format(src_fire),mode='rb'

)as f1,\

open(r'{}

'.format(dsc_fire),mode='wb'

)as f2:

for msg in

f1: f2.write(msg)

2、基於seek控制指標移動,測試r+、w+、a+模式下的讀寫內容

#

r+t 模式

with open(r'

c:\users\administrator\desktop\a.txt

',mode='

r+',encoding='

utf-8

')as f:

f.seek(2,0)

print

(f.read())

#r+b 模式

with open(r'

c:\users\administrator\desktop\a.txt

',mode='

r+b'

,)as f1:

f1.seek(2,0)

print(f1.read().decode('

utf-8'))

#w+b 模式

with open(r'

a.txt

', mode='

w+b'

, )as f2:

f2.write(b

'lsd123')

f2.seek(2,0)

print

(f2.read())

f2.write(bytes('上

',encoding='

utf-8'))

f2.seek(4,0)

print(f2.read().decode('

utf-8'))

#a+b 模式

with open(r

'a.txt

', mode='

a+b'

, )as f3:

f3.write(b

'lsd123')

f3.seek(3, 0)

print(f3.read().decode('

utf-8'))

f3.write(bytes(

'上xia

', encoding='

utf-8'))

f3.seek(5, 0)

print(f3.read().decode('

utf-8

'))

3、tail -f access.log程式實現

import

time

with open(

'access.log

', '

rt', encoding='

utf-8

') as f:

f.seek(0, 2)

while

true:

res =f.readline()

ifnot

res:

time.sleep(0.5)

continue

print(res)

4.1:編寫使用者登入介面

tag =true

while

tag:

username = input('

請輸入使用者名稱:

').strip()

with open(

'user_info4.txt

', '

r', encoding='

utf-8

') as f, open('

user_info5.txt

', '

w', encoding='

utf-8

') as w:

for line in

f: user, pwd, locked = line.strip().split(':'

)

#print(user, pwd, type(locked))

locked =int(locked)

if locked == 3:

print('

當前使用者已被鎖定')

if username ==user:

while locked < 3:

password = input('

請輸入密碼:

').strip()

if password ==pwd:

print('

登入成功!')

tag =false

break

else

:

print('

密碼錯誤!')

locked += 1w.write(f

'::\n')

import

os os.remove(

'user_info4.txt')

#將user_info5.txt修改為user_info4.txt

os.rename('

user_info5.txt

', '

user_info4.txt

')

4.2:編寫程式實現使用者註冊後(註冊到檔案中),可以登入(登入資訊來自於檔案)

while

true:

msg = """

0 退出

1 登入

2 註冊

"""print

(msg)

cmd = input('

請輸入命令編號》:

').strip()

ifnot

cmd.isdigit():

print('

必須輸入命令編號的數字,傻叉')

continue

if cmd not

indic:

print('

輸入有誤')

continue

print(dic.get(cmd))

作業3月25號

1 檔案內容如下,標題為 姓名,性別,年紀,薪資 egon male 18 3000 alex male 38 30000 wupeiqi female 28 20000 yuanhao female 28 10000 要求 從檔案中取出每一條記錄放入列表中,列表的每個元素都是的形式 dic lis...

作業3月24號

1 編寫課上講解的有參裝飾器準備明天默寫 def auth db type defdeco func name input your name strip pwd input your password strip if db type file print 基於檔案的驗證 if name egon...

作業3月17號

1 編寫檔案修改功能,呼叫函式時,傳入三個引數 修改的檔案路徑,要修改的內容,修改後的內容 既可完成檔案的修改 def info import os path input 請輸入路徑 front input 請輸入修改內容 later input 請輸入修改後內容 with open path,r ...