內容概括:
1.python open()函式檔案開啟操作
開啟檔案會用到open函式,標準的python開啟檔案語法如下:
open(name[,mode[,buffering]])
f = open(name,『r』)
f.read() #讀取所有檔案內容
readline () #讀取一行檔案內容
readlines ()# 以行為單位讀取所有檔案內容,然後每行作為乙個元素存放到列表中
# 『w』以寫的方式開啟檔案,覆蓋檔案的所有內容,如果沒有這個檔案,他會建立檔案
r(read) #讀,檔案存在直接可以讀,檔案不存在會報錯
w(write) #寫,檔案存在,會覆蓋檔案內容,檔案不存在會建立檔案
r+ 讀寫 不建立新檔案 檔案讀寫指標在開頭
w+ 讀寫 建立新檔案 讀寫指標在開頭 如果檔案存在會覆蓋這個檔案之前的內容
a+ 讀寫 建立新檔案 讀寫指標在末尾 不會覆蓋這個檔案之前的內容
seek()函式,修改訪問檔案中指標的位置
file_object.seek(offset,whence)
offset:
開始的偏移數,也就是代表需要移動偏移的位元組數
whence:
0 表示從頭開始計算
1 表示以當前位置為原點進行計算
2 表示以檔案末尾為原點進行計算
# coding=utf-8
with open('f.txt','w+') as f:
print f.tell() #返回檔案的當前位置讀/寫指標
f.write('i love python\n')
print f.tell()
f.flush() #將緩衝區中的資料立刻寫入檔案,同時清空緩衝區
f.seek(0,0)
print 'now:',f.tell()
print f.read()
print '----------'
# coding=utf-8
with open('f.txt','w+') as f:
print f.tell()#初始位置
f.write('i love python\n')
f.write('i love python\n')
print f.tell()#游標的當前位置
f.flush()
f.seek(-10,2)
print 'now:',f.tell()
print f.read()
print '----------'
#print f.readline()
#print content
案例:
1.實現乙個賬戶註冊的**
2.實現用已註冊的賬戶登入
#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''定義函式,註冊,查詢有沒有相同的使用者名稱,如果有,則提示
登入,查詢使用者名稱是否存在,存在則進行操作,否則提示
登入成功,列印出所有的使用者名稱密碼
'''def getusername(aa):
f = open("passwd2.txt")
for line in open("passwd2.txt"):
result = f.readline()
if name in result:
return true
return false
def getuserexist(username,passwd):
with open("passwd2.txt") as f:
result = f.readlines()
for line in result:
content = "".join(line).strip()
content = content.split("\t")
if username == content[0] and passwd == content[1]:
return true
return false
def getalluser():
with open("passwd2.txt") as f:
return f.readlines()
while true:
print u''' *********************
1.註冊 \n
2.登入 \n
3.q 退出
*********************
''' choice = raw_input(u"請輸入你的選擇數字:")
if choice.isdigit():
if choice == "1":
with open("passwd2.txt","a+") as f:
name = raw_input(u"請輸入要註冊的使用者名稱:")
if len(name)>0:
if not getusername(name):
passwd = raw_input(u"請輸入註冊的密碼:")
if len(passwd)>0:
f.write(name.strip()+"\t"+passwd.strip()+"\n")
print u"註冊成功"
else:
print u"密碼不能為空"
else:
print u"當前使用者已註冊,請輸入新的使用者名稱"
else:
print u"使用者名稱不能為空"
elif choice == "2":
name = raw_input(u"請輸入要登入的使用者名稱:")
if getusername(name):
passwd = raw_input(u"請輸入要登入的密碼:")
if getuserexist(name,passwd):
print u"登入成功"
print getalluser()
continue
else:
print u"輸入密碼不對"
else:
print u"輸入的使用者名稱不存在"
continue
elif choice == "q":
break
else:
print u"請輸入正確的數字"
#coding:gbk
import sys,os
i = 0
while i<3:
name = raw_input("請輸入你的使用者名稱:")
account_file = open("account_lock.txt","r+")
result = account_file.readlines()
for line in result:
line = line.strip("\n")
if name == line:
sys.exit("wwww")
user_file = open("passwd.txt")
user_info = user_file.readlines()
for line in user_info:
user_name,user_passwd = line.strip("\n").split()
if user_name == name:
j = 0
while j<3:
passwd = raw_input("請輸入密碼:")
if user_passwd == passwd:
print "登入成功,歡迎%s使用者"%name
print user_info
sys.exit(0)
else:
if j!=2:
print "你還剩餘餘%d次輸入機會"%(2-j)
j +=1
else:
account_file.write(name+"\n")
print "輸入超過最大次數,賬戶將被鎖定"
sys.exit("www")
else:
print "輸入的使用者不存在,還剩餘%d次輸入機會"%(2-i)
i+=1
else:
print "使用者不存在,系統退出"
account_file.close()
user_file.close()
python 檔案操作
簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...
python檔案操作
1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...
Python 檔案操作
1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...