[TOC]
認識python
- python是編譯型語言還是解釋性語言,兩種類型的語言的程序有什么不同?
解釋性語言,編譯型語言如C或C++需要其他編譯器和工具轉(zhuǎn)換成二進制語音在計算機中執(zhí)行,Python這樣的解釋型語言自帶編譯器直接運行即可 - python相對與其他語言有什么優(yōu)點和缺點?
簡單,開源,豐富的第三方庫 - Python應(yīng)用場景有哪些
web開發(fā),科學(xué)計算,游戲,軟件開發(fā) - 什么是python的交互模式,如何進入python交互模式
CMD運行python程序進入交互模式 - 在linux系統(tǒng)上,可以通過哪些方式編寫出一個python程序
文件后綴名改為.py - 在終端中,如何運行一個.py文件,有幾種方法,分別怎么操作
python test.py
python基礎(chǔ)知識:注釋、變量、變量類型、標示符、關(guān)鍵字
- 你認為注釋是用來做什么的
對代碼的用意原理進行解釋說明,避免再次閱讀代碼是不能理解 - 在python中,注釋分幾類?分別如何定義?
兩種,一種是單行注釋,“# ”,一種是多行注釋“‘ ’” - 請說出你對變量的理解,變量的作用是什么
變量是數(shù)據(jù)的容器,幫助我們表示抽象的規(guī)律,避免重復(fù)性質(zhì)的工作 - 請說出你對變量類型的理解
Python不需要指定變量的類型,所以Python的變量類型其實是只里面存儲的數(shù)據(jù)的數(shù)據(jù)類型,分為數(shù)字型和非數(shù)字型,數(shù)字型包括整數(shù)、浮點型、布爾型、復(fù)合型(一般不用),非數(shù)字型包括字符串、列表、元組、字典 - 請說出你對標示符的理解
標示符就是程序員定義的 變量名、函數(shù)名等命名對象 - 常見的標示符的命名規(guī)則有哪些
只能使用英文、數(shù)字、下劃線的組合,不能用數(shù)據(jù)開頭,標識符不能與關(guān)鍵字相同 - 如何在程序中寫一個注釋
‘# ’號開頭后面寫注釋“‘ ’”中間寫注釋 - 變量的命名應(yīng)當符合什么規(guī)則,通常需要注意那幾個點
只能使用英文、數(shù)字、下劃線的組合,不能用數(shù)據(jù)開頭,標識符不能與關(guān)鍵字相同 - 請定義一個變量str1并賦值一個字符串"hello",再定義一個變量str2并賦值一個字符串"python",那么str1 + str2 的值是多少
str1 = 'hello'
str2 = 'python'
print(str1+str2)
#hellopython
- 請寫出你所知道的python的數(shù)據(jù)類型
int float str bool - 進入python3交互模式,定義任意個變量,使用并查看其類型
a = 1
print(type(a))
- 說出下面第一行注釋的作用
#!/usr/bin/python
# coding=utf-8
# 第一個注釋
print "Hello, Python!"
# s 是變量
s = 10
print(s)
指定python運行目錄
- 請分別使用大駝峰和小駝峰命名法定義兩個變量,并為其賦值
MyName = 'LiuBin'
myName = 'liuBin' - 布爾類型的變量有哪些值
False True - 什么是Python中的關(guān)鍵字?關(guān)鍵字能作為變量名嗎?
關(guān)鍵字是python已經(jīng)設(shè)置好的標識符,不能作為變量名 - 請指出下列變量的命名哪些是不規(guī)范的:
A、test B、python C、2name D、num2 E、if
F、!hello G、print H、itcast I、omg J、abc-def
K、temp L、else M、TEST N、Options
CEFGJL
python基礎(chǔ)知識:輸入、輸出、運算符、數(shù)據(jù)類型轉(zhuǎn)換
python是用什么方法來進行輸出操作的?
print()請輸出你對輸入的理解
用代碼 獲取 用戶通過 鍵盤 輸入的信息python是用什么方法來進行輸入操作的?
input()或input('請輸入:')什么是格式化,格式化輸出有什么作用
在輸出字符串中使用%,輸出文字信息的同時,一起輸出 數(shù)據(jù)目前你學(xué)過哪幾種python的運算符
算數(shù)運算符,比較運算符,邏輯運算符,賦值運算符
要求:練習所有的運算符操作(算術(shù)、賦值、復(fù)合賦值)
# 嘗試所有運算符
# 算數(shù)運算符
print(1+2)
print(1-2)
print(1*2)
print(1/2)
print(3%2)
print(5//3)
print(3**2)
# 賦值運算符
a = 1
print(a)
# 復(fù)合賦值運算符
# a += 1
# a -= 1
a *= 2
print(a)
# 上面算數(shù)運算符都能跟=號組合
- 練習實現(xiàn)字符串轉(zhuǎn)換為數(shù)字,以及數(shù)字轉(zhuǎn)換為字符串
a = '123'
print(type(a))
b = 123
print(type(b))
a = int(a)
b = str(b)
print(type(a))
print(type(b))
- python3中如何對數(shù)值取商和取余
// % - 變量a="10";b="30";c=a+b;請說出c的值是什么,類型是什么,如果我希望讓c="40",應(yīng)該怎么做
c = '1030'
c = int(a)+int(b) - 編寫一段代碼,定義任意數(shù)量(至少三個)的變量,并按照'a = xxx,b=xxx,...'的格式打印出變量的名字和該變量所存儲的數(shù)據(jù),要求運用格式化輸出,并且每一行代碼,須寫上相應(yīng)的注釋進行說明
# 定義變量
a = 1
b = 2
c = 'hello'
# 格式化輸出
print('a=%d,b=%d,c=%s'%(a,b,c))
- 編寫一個cart.py(打印名片)程序
運行程序后,分別輸入姓名、性別、年齡、單位、聯(lián)系方式等數(shù)據(jù),并用變量分別接收
輸入完成后,最后打印出姓名、性別、年齡、單位、聯(lián)系方式等信息,輸出的格式自行設(shè)定,盡量美觀
輸出需使用上格式化輸出
提示:%d-數(shù)字 %s-字符串 %f-小數(shù)
# 名片小程序
name = input("請輸入您的姓名:")
gender = input("請輸入您的性別:")
age = input("請輸入您的年齡:")
company = input("請輸入您的工作單位:")
moble = input("請輸入您的手機號:")
email = input("請輸入您的郵箱:")
print('%s\t%s\t%s歲\n公司:%s\n手機:%s\nEmail:%s'%(name,gender,age,company,moble,email))

- 修復(fù)程序bug
-請找出下列代碼運行時出錯的原因,一一列出并一一糾正。
# coding=utf-8
# 定義字符串變量temp1
temp1 = "hello python' ------> 引號
# 接收用戶的輸入
temp2 = input("請輸入:")
# 定義數(shù)字變量temp3
temp3 = 333
# 定義字符串變量temp4
temp4 = "333"
# 求和
temp5 = temp3 + temp4 -----> int類型 與 str類型相加
if temp5 == 666 -----> 缺少冒號:
print("%s + %s = %s, 挺溜啊"%(temp3,temp4,temp5))
if temp5 != 666:
print("一點兒也bu溜") ------> 縮進不對,if語句下的代碼塊不能為空
print("您剛剛輸入的是:%d"%temp2) ------> temp2是字符串類型
提示:
- input輸入的數(shù)據(jù),是字符串類型
- 不同類型的變量不能進行運算
- == 符號 判斷兩端的值是否相等
- != 符號 判斷兩邊的值是否不相等
- if 后面的的代碼需要縮進
# coding=utf-8
# 定義字符串變量temp1
temp1 = 'hello python' #------> 引號
# 接收用戶的輸入
temp2 = input("請輸入:")
# 定義數(shù)字變量temp3
temp3 = 333
# 定義字符串變量temp4
temp4 = "333"
# 求和
temp5 = temp3 + int(temp4) # -----> int類型 與 str類型相加
if temp5 == 666: # -----> 缺少冒號:
print("%s + %s = %s, 挺溜啊"%(temp3,temp4,temp5))
elif temp5 != 666:
print("一點兒也bu溜") # ------> 縮進不對,if語句下的代碼塊不能為空
print("您剛剛輸入的是:%s"%temp2) # ------> temp2是字符串類型
條件語句
- 什么是判斷語句
使用if語句對條件進行判斷的代碼塊 - 請寫出if判斷語句的使用格式
if 條件判斷:
執(zhí)行動作
elif 條件判斷:
執(zhí)行動作
else :
執(zhí)行動作
- 按照下列步驟操作
- 編寫一個counter.py程序
- 在counter.py中指定使用./counter.py運行時,使用的是python3
- 使用注釋開啟中文支持
- 設(shè)計程序分三次獲取3個數(shù)字,并賦值給變量
- 將3次輸入的數(shù)據(jù)轉(zhuǎn)換為數(shù)字類型,然后把相加后的值賦值給變量sum
- 如果sum>100000, 則輸出"您輸入的三個數(shù)的和忒大了"
- 如果sum>10000, 則輸出"您輸入的三個數(shù)的和挺大"
- 如果sum>1000, 則輸出"您輸入的三個數(shù)的和有點大"
- 如果sum>100, 則輸出"您輸入的三個數(shù)的和不算大"
- 如果sum<=100, 則輸出"您輸入的三個數(shù)的和忒小了"
- 要求每次輸入最終都只打印一條語句,且該語句符合你的預(yù)期,如我分別輸入100,200,300,最后只會打印"您輸入的三個數(shù)的和不算大",而不會打印其他情況
提示:
- 注意安排好判斷語句的順序,否則會得到超出預(yù)期的結(jié)果
- which python3 可以查看python3程序所在位置
# 4. 設(shè)計程序分三次獲取3個數(shù)字,并賦值給變量
num1 = input('請輸入3個數(shù)字(1/3):')
num2 = input('請輸入3個數(shù)字(2/3):')
num3 = input('請輸入3個數(shù)字(3/3):')
# 5. 將3次輸入的數(shù)據(jù)轉(zhuǎn)換為數(shù)字類型,然后把相加后的值賦值給變量sum
sum = int(num1) + int(num2) + int(num3)
# 6. 如果sum>100000, 則輸出"您輸入的三個數(shù)的和忒大了"
if sum>100000:
print('您輸入的三個數(shù)的和忒大了')
# 7. 如果sum>10000, 則輸出"您輸入的三個數(shù)的和挺大"
elif sum>10000:
print('您輸入的三個數(shù)的和挺大')
# 8. 如果sum>1000, 則輸出"您輸入的三個數(shù)的和有點大"
elif sum>1000:
print('您輸入的三個數(shù)的和有點大')
# 9. 如果sum>100, 則輸出"您輸入的三個數(shù)的和不算大"
elif sum>100:
print('您輸入的三個數(shù)的和不算大')
# 10. 如果sum<=100, 則輸出"您輸入的三個數(shù)的和忒小了"
else :
print('您輸入的三個數(shù)的和忒小了')
# 11. 要求每次輸入最終都只打印一條語句,且該語句符合你的預(yù)期,如我分別輸入100,200,300,最后只會打印"您輸入的三個數(shù)的和不算大",而不會打印其他情況

- 編寫代碼,1-7七個數(shù)字,分別代表周一到周日,如果輸入的數(shù)字是6或7,輸出“周末”,如果輸入的數(shù)字是1-5,輸出“工作日”,如輸入其他數(shù)字,輸出“錯誤”。
a = input('請輸入1-7中的一個數(shù)字:')
if int(a)<=5:
print('工作日')
elif int(a)<=7:
print('周末')
else:
print('錯誤')
循環(huán)語句
完整的for循環(huán)語法是什么?
- 使用while循環(huán)計算1~100的累積和(包含1和100)。
a = 0
sum = 0
while a<100:
a += 1
sum = sum + a
print(sum)
-
使用while循環(huán)輸出如下圖形:
a = 0
while a<5:
a += 1
print('* '*a)
-
使用while循環(huán)輸出如下圖形:
a = 5
while a>0:
print('* '*a)
a -= 1
- 完成猜拳游戲的練習
# 輸入猜拳選擇
a = int(input('請出拳:石頭(1),剪刀(2),布(3)'))
if a == 1:
print('你選擇出:石頭')
elif a == 2:
print('你選擇出:剪刀')
elif a == 3:
print('你選擇出:布')
# 程序隨機出拳
b = random.randint(1, 3)
if b == 1:
print('你遇到了:石頭')
elif b == 2:
print('你遇到了:剪刀')
elif b == 1:
print('你遇到了:布')
#產(chǎn)生結(jié)果
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print('你獲得了勝利')
elif a == b:
print('平局')
else:
print('你輸了,再來一局吧!')

- 完成九九乘法表的練習
# 觀察九九乘法表,列號*行號
row = 1
while row <= 9:
col = 1
while col <= row:
print('%d*%d=%d' % (col, row, col * row), end='\t')
col += 1
print()
row += 1

高級變量類型列表、元組
- 列表和普通變量有什么區(qū)別
列表里面存儲多個元素,是個元素的集合 - 怎樣測量列表中元素的個數(shù)?
len(list) - 怎樣獲取列表的某個元素
list[n] - 解釋一下什么是越界
想要獲取的索引超出列表索引范圍 - 什么是切片?
切片是列表的指定部分
listn:m
list:n
listn: - 怎么想列表中添加元素?
list.insert()
list.append()
list.extend() - 如何刪除列表中的某個元素?
del list[n]
list.pop(n)
list.remove(n) - 如何修改列表中的某個元素?
賦值修改list[n] = n - 如何去查找列表中某個元素所對應(yīng)的下標?
list.index('n') - 已有列表nums=[11,22,33,44,55],使用for循環(huán)遍歷列表
for i in nums:
print(i)
- 已有列表nums=[11,22,33,44,55],使用while循環(huán)遍歷列表
a = 0
while a<=len(nums):
print(nums[a])
a+=1
- 已有列表nums=[14,22,63,21,5],將其從小到大排序
nums.sort()
nums - 元組定義的格式?
元組用() 定義 - 元組和列表的區(qū)別?
元組的元素不能修改也不能重復(fù)
函數(shù)
- 什么是函數(shù)? 為什么要使用函數(shù)?
函數(shù)是通過一個指定的標識符()可以復(fù)用一塊代碼功能的功能,目的是為了提高代碼的復(fù)用性 - Python的內(nèi)置函數(shù)有什么?分別有什么作用?
type(),返回對象的類型
int(),將對象的數(shù)據(jù)類型變成整數(shù) - 定義函數(shù)、和調(diào)用函數(shù)的格式分別是什么?
def func():
func() - 編寫一段代碼,定義一個函數(shù)求1-100之間所有偶數(shù)的和,并調(diào)用該函數(shù)打印出結(jié)果。
def func():
a = 1
sum = 0
while a<100:
if a%2 == 0:
sum+=a
a+=1
return sum
print(func())
- 函數(shù)的文檔說明有什么用?
通過''' '''在函數(shù)內(nèi)部最開始設(shè)置函數(shù)說明,為了方便調(diào)用的時候了解函數(shù)的參數(shù),返回值等關(guān)鍵信息 - 什么是函數(shù)的參數(shù)?為什么使用參數(shù)?
def func(a,b) a,b就是參數(shù),通過參數(shù)可以擴展函數(shù)的使用,參數(shù)起到占位作用,函數(shù)運行時會替換成真實數(shù)據(jù) - 分別說明什么是形參和實參?
形參就是定義函數(shù)時設(shè)置的參數(shù),實參是調(diào)用函數(shù)時傳入的參數(shù) - 編寫一段代碼,定義一個函數(shù)求兩個數(shù)之間所有整數(shù)的和,在調(diào)用該函數(shù)時傳入這兩個數(shù)的具體值。
def func(a,b):
sum = 0
for n in range(int(a),int(b)+1):
sum += n
return sum
print(func(1,5))
- 什么是返回值?
函數(shù)中return關(guān)鍵字后面的代碼就是返回值 - 根據(jù)參數(shù)、返回值,函數(shù)有哪四種類型?
位置參數(shù),默認參數(shù),關(guān)鍵字參數(shù),可變參數(shù)
答案:無參數(shù)、無返回值無參數(shù)、有返回值有參數(shù)、無返回值有參數(shù)、有返回值 - 什么是函數(shù)的嵌套、函數(shù)嵌套的格式是什么?
在函數(shù)的內(nèi)部定義函數(shù)
def func():
def func(): - 什么是局部變量?
函數(shù)內(nèi)部的變量 - 什么是全局變量?
函數(shù)外部的變量 - 全局變量和局部變量的區(qū)別是什么?
定義:
全局變量定義在全局空間,函數(shù)外部
局部變量定義在函數(shù)內(nèi)部
引用:
全局變量可以被所有的函數(shù)使用
局部變量只能在該函數(shù)內(nèi)使用,其它函數(shù)不能訪問
修改:
局部變量在函數(shù)內(nèi)部修改不受限制
全局變量在函數(shù)內(nèi)部修改受限制
怎么在函數(shù)內(nèi)部去修改全局變量的值?
變量前加global 申明為全局變量設(shè)計一個程序,計算出 0-n 之間所有整數(shù)的和,并將計算的值返回。
def func(n):
a = 0
sum = 0
while a<=n:
sum += a
a+=1
return sum
print(func(100))
- 使用函數(shù)完成用戶登錄驗證的程序。(用戶名和密碼傳入到函數(shù)中進行驗證)
def func(username,password):
if username == 'python' and password== '123456789':
return '歡迎'
else:
return '賬號或密碼錯誤'
print(func('python','123456789'))
- 定義一個函數(shù),要求輸入大于0的數(shù)字n,判斷傳入數(shù)字的奇偶性,如果是奇數(shù)返回 "n是奇數(shù)",否則返回 “n是偶數(shù)”,否則 返回“請輸入大于0的整數(shù)”
def func(n):
if n>0:
if n%2==0:
return'n是偶數(shù)'
else:
return 'n是奇數(shù)'
else:
return '請輸入大于0的整數(shù)'
print(func(-1))
- 定義一個函數(shù)main(),將1—200(范圍包含1和200)中3的倍數(shù)或者有數(shù)字3的所有整數(shù)保存到列表list_1中,并輸出。
def main():
list_1 = []
for i in range(1,201):
if i%3==0 or str(i).find('3')>=0: # find(),包含的話,返回第一次出現(xiàn)的位置,沒有的話為負數(shù)
list_1.append(i)
return list_1
print(main())
- 編寫一個程序,通過鍵盤循環(huán)獲取5個學(xué)生的信息,將學(xué)生信息組成字典保存到列表中,最終將學(xué)生信息列表打印出來。(學(xué)生信息包括 name 、age、id)
def main():
list = [] # 儲存所有學(xué)生信息的列表
i = 1
while i <= 5:
# 獲取指定的輸入信息
id = input('請輸入學(xué)生ID:')
name = input('請輸入學(xué)生姓名:')
age = int(input('請輸入學(xué)生年齡:'))
# 將輸入信息儲存在字典中,循環(huán)時會覆蓋新的輸入
stu = {'id': id, 'name': name, 'age': age}
# 將字典數(shù)據(jù)添加到列表中
list.append(stu)
i += 1
return list
print(main())
- 函數(shù)中return的作用
- 函數(shù)中如果有多個return,會是什么效果
只有一個return會被執(zhí)行
一旦執(zhí)行了某個return,函數(shù)也將被立即終止,其余return將不會再執(zhí)行 - python中函數(shù)的參數(shù)類型有哪些
位置參數(shù),默認參數(shù),關(guān)鍵字參數(shù),可變參數(shù) - 什么是缺省參數(shù)
默認參數(shù),實參不提供時會按照默認值運行函數(shù), - 什么是不定長參數(shù)
可變參數(shù),分為元組可變參數(shù)(args)和字典可變參數(shù)(**args),元組可變參數(shù)會將實參都包裝成元組,字典可變參數(shù)會將關(guān)鍵字參數(shù)封裝成字典 - 定義一個使用不定長參數(shù)的函數(shù),并在函數(shù)中打印出參數(shù)及其類型,統(tǒng)計傳入?yún)?shù)的個數(shù),
def main(*abc):
print('共有%s個參數(shù),其中:' % len(abc))
for i in abc:
#print(i)
print('參數(shù)%s類型為:%s' % (i, type(i)))
main(1,2,'ren')

- 定義一個函數(shù)max,接受的參數(shù)類型是數(shù)值,最終返回兩個數(shù)中的最大值
def max(a,b):
if a>=b:
return a
else:
return b
print(max(3,1))
- 定義一個函數(shù)min,接受的參數(shù)類型是數(shù)值,最終返回兩個數(shù)中的最小值
def min(a,b):
if a<=b:
return a
else:
return b
print(max(3,1))
- 分別定義加減乘除四個函數(shù)實現(xiàn)兩個數(shù)之間的加減乘除操作
def Calculate(a,b):
return a*b - 比較下列三個函數(shù)的區(qū)別:
# 無參數(shù)計算1-100的累加
def func1():
i = 1
sum = 0
while i<=100:
sum += i
i += 1
return sum
#位置參數(shù),計算參數(shù)-100的累加
def func2(n):
i = n
sum = 0
while i <=100:
sum += i
i += 1
return sum
# 默認參數(shù),計算n-m的累加,如不傳參數(shù)則默認計算0-100的累加
def func3(n=1, m=100):
i = n
sum = 0
while i <= m:
sum += i
i += 1
return sum
- 定義函數(shù)findall,實現(xiàn)對字符串find方法的進一步封裝,要求返回符合要求的所有位置的起始下標,如字符串"helloworldhellopythonhelloc++hellojava",需要找出里面所有的"hello"的位置,最后將返回一個元組(0,10,21,29),即將h的下標全部返回出來,而find方法只返回第一個.
def findall(a,b):
w = []
# 初始化每次find返回坐標在原字符串的的位置
m = 0
# 當find能返回坐標時就繼續(xù)循環(huán),不能返回坐標時返回-1
while a.find(b) >= 0:
index = a.find(b) #記錄當前字符串的find坐標
if len(w)>0: # 第一次find返回坐標時不需要累加len(b)
m = m + index +len(b) # 累計歷次find的坐標
else:
m = m + index # 第一次find返回坐標時不需要累加len(b)
w.append(m) # 把累計坐標添加進列表
a = a[index+len(b):] # find返回一次坐標就截掉坐標+b字符串,剩下部分才能再利用find返回坐標
return tuple(w) # 返回元組結(jié)果
print(findall("helloworldhellopythonhelloc++hellojava",'hello'))
文件操作
如何理解文件?
文件是用以永久性保存內(nèi)存中的運算結(jié)果的具體形式為什么要用文件?
永久性保存內(nèi)存中的運算結(jié)果,便于以后再次使用簡述文件操作的流程?
打開
讀/寫
關(guān)閉如何打開一個文件?
open() 或者with open()as f上題中打開文件的函數(shù)格式是什么?
open('地址',‘模式’) with open("test.txt","r") as f有一個test.txt文件,以只讀的方式打開此文件,用變量f接收文件打開的返回值.
f = open('test.txt','r')文件訪問模式中r表示什么模式,r+表示什么模式?
r,只讀模式,只能讀取不能寫,r+,即能都又能寫文件訪問模式中r與r+有什么區(qū)別?
r,只讀模式,只能讀取不能寫,r+,即能都又能寫文件訪問模式中w表示什么模式,w+表示什么模式?
w,只寫模式,只能寫不能讀,w+,即能都又能寫文件操作中要在文件中追加改如何操作?
采用追加模式a打開文件,file.write('內(nèi)容')如何關(guān)閉一個文件?
file.close()將打開的test.txt文件關(guān)閉,用變量f接收返回值.
f = open('test.txt')
f.close()
提示:
打開文件之門的"鑰匙",open()函數(shù).
文件的訪問模式即為訪問權(quán)限
打開一個文件,可以不用指定打開的模式.
如果讀了多次數(shù)據(jù),那么后面讀取的數(shù)據(jù)是從上次讀完的位置開始的.寫出目前我們所學(xué)對文件操作的哪幾個權(quán)限?
w r a w+ r+ a+ wb rb ab如何在打開的test.txt文件中寫入數(shù)據(jù)?
file.write()請在test.txt文件中寫入"wow,so beautiful!".
f = open('test.txt','w')
f.write('wow,so beautiful!')
f.close()
或者
with open("lan.txt","w") as f:
f.write("wow you are so beautiful")編寫一段代碼以完成兩份文件之間的相互備份
- 創(chuàng)建gailun.txt文件
- 打開文件在gailun.txt中寫入"德瑪西亞!人在塔在!"
- 將輸入的數(shù)據(jù)格式化輸出到終端上
- 在文件夾中創(chuàng)建gailun副本.txt文件
- 將gailun.txt文件中的數(shù)據(jù)寫入gailun副本.txt文件中
- 打開文件,查看文件中是否有內(nèi)容
# 創(chuàng)建gailun.txt文件
with open('gailun.txt','w+',encoding='utf-8') as f:
# 打開文件在gailun.txt中寫入"德瑪西亞!人在塔在!"
f.write('德瑪西亞!人在塔在!')
f.seek(0,0) # offset ,偏移量,whence:可選,默認值為 0。0代表從文件開頭開始算起,1代表從當前位置開始算起,2代表從文件末尾算起。
content = f.read()
# 將輸入的數(shù)據(jù)格式化輸出到終端上
print('文件內(nèi)容是:%s'%content)
# 在文件夾中創(chuàng)建gailun副本.txt文件
with open('gailun.txt','r',encoding='utf-8') as f_:
# 將gailun.txt文件中的數(shù)據(jù)寫入gailun副本.txt文件中
f_.seek(0,0)
content = f_.read()
print(content)
new_file = open('gailun副本.txt','w+',encoding='utf-8')
new_file.write(content)
new_file.close()
# 打開文件,查看文件中是否有內(nèi)容
- 什么情況下要用到復(fù)制?
- 怎樣實現(xiàn)文件的復(fù)制?
- 如何理解文件的定位?
- 如果在讀寫文件的過程中,需要從另外一個位置進行操作的話,該怎么操作?
- seek()函數(shù)有幾個參數(shù),分別代表什么?
- seek(5,0)表示什么意思?
- seek(-5,2)表示什么含義?
- seek(3,1)表示什么含義?
提示:
文件的復(fù)制過程實質(zhì)上就是把一個文件中的內(nèi)容讀出來,然后寫入另一個文件中。
獲取文件當前位置用tell(),重新設(shè)置讀寫位置要用seek().

