slist = list(open('d:\\學習\python\\各章實驗內容答案與素材參考\\ch5\\文字檔案\\song2.txt', 'r'))
print(slist)
print('end')
for i in slist:
if i == '\n':
slist.remove(i)
else:
continue
print(slist)
print('end')
strlist = ''.join(slist)
print(type(strlist))
print(strlist)
nnf = open('c:\\users\\li wanru\\desktop\\newsong2.txt','w')
strr = strlist.replace('我的中國','我的祖國')#strlist是字串
print(strr)
nnf.write(strr)
nnf.close()
書上的答案:
slist = list(open('d:\\學習\python\\各章實驗內容答案與素材參考\\ch5\\文字檔案\\song2.txt', 'r'))
print(slist)
print('end')
n = slist.count('\n') # 這裡數的是單獨的\n
for i in range(1, n + 1):
slist.remove('\n')
for i in range(0, len(slist)):
slist[i] = slist[i].replace('我的中國', '我的祖國')
print(slist)
print('end')
nnf = open('c:\\users\\li wanru\\desktop\\newsong3.txt', 'w')
for x in slist:
print(x, end='')
nnf.write(x)
nnf.close()
書上的思考:如果把
for i in range(0, len(slist)):
slist[i] = slist[i].replace('我的中國', '我的祖國')
替換為迴圈迭代語句
for x in s:
x.replace('我的中國','我的祖國')
能不能達到同樣的效果。
實驗後發現是不行的。因為字串通過replace操作沒有被修改。
如果再賦值呢?
slist = list(open('d:\\學習\python\\各章實驗內容答案與素材參考\\ch5\\文字檔案\\song2.txt', 'r'))
print(slist)
print('end')
n = slist.count('\n') # 這裡數的是單獨的\n
for i in range(1, n + 1):
slist.remove('\n')
for x in slist:
x = x.replace('我的中國','我的祖國')
print(x)
print(slist)
print('end')
nnf = open('c:\\users\\li wanru\\desktop\\newsong5.txt', 'w')
for x in slist:
print(x, end='')
nnf.write(x)
nnf.close()
得到的結果很有趣
['今天是你的生日\n', '\n', '今天是你的生日我的中國\n', '\n', '清晨我放飛一群白鴿\n', '\n', '為你銜來一枚橄欖葉\n', '\n', '鴿子在叢山峻嶺飛過\n', '\n', '我們祝福你的生日我的中國\n', '\n', '願你永遠沒有憂患永遠寧靜\n', '\n', '我們祝福你的生日我的祖國\n', '\n', '這是兒女們心中期望的歌\n', '\n', '今天是你的生日我的祖國\n', '\n', '清晨我放飛一群白鴿\n', '\n', '為你帶回遠方兒女的思念\n', '\n', '鴿子在茫茫海天飛過\n', '\n', '我們祝福你的生日我的祖國\n', '\n', '願你月兒常圓兒女永遠歡樂\n', '\n', '我們祝福你的生日我的祖國\n', '\n', '這是兒女在遠方愛的訴說\n', '\n', '今天是你的生日我的祖國\n', '\n', '清晨我放飛一群白鴿\n', '\n', '為你銜來一棵金色麥穗\n', '\n', '鴿子在風風雨雨中飛過\n', '\n', '我們祝福你的生日我的祖國\n', '\n', '願你逆風起飛雨中獲得收穫\n', '\n', '我們祝福你的生日我的中國\n', '\n', '這是兒女們心中希望的歌']
end今天是你的生日
今天是你的生日我的祖國
清晨我放飛一群白鴿
為你銜來一枚橄欖葉
鴿子在叢山峻嶺飛過
我們祝福你的生日我的祖國
願你永遠沒有憂患永遠寧靜
我們祝福你的生日我的祖國
這是兒女們心中期望的歌
今天是你的生日我的祖國
清晨我放飛一群白鴿
為你帶回遠方兒女的思念
鴿子在茫茫海天飛過
我們祝福你的生日我的祖國
願你月兒常圓兒女永遠歡樂
我們祝福你的生日我的祖國
這是兒女在遠方愛的訴說
今天是你的生日我的祖國
清晨我放飛一群白鴿
為你銜來一棵金色麥穗
鴿子在風風雨雨中飛過
我們祝福你的生日我的祖國
願你逆風起飛雨中獲得收穫
我們祝福你的生日我的祖國
這是兒女們心中希望的歌
['今天是你的生日\n', '今天是你的生日我的中國\n', '清晨我放飛一群白鴿\n', '為你銜來一枚橄欖葉\n', '鴿子在叢山峻嶺飛過\n', '我們祝福你的生日我的中國\n', '願你永遠沒有憂患永遠寧靜\n', '我們祝福你的生日我的祖國\n', '這是兒女們心中期望的歌\n', '今天是你的生日我的祖國\n', '清晨我放飛一群白鴿\n', '為你帶回遠方兒女的思念\n', '鴿子在茫茫海天飛過\n', '我們祝福你的生日我的祖國\n', '願你月兒常圓兒女永遠歡樂\n', '我們祝福你的生日我的祖國\n', '這是兒女在遠方愛的訴說\n', '今天是你的生日我的祖國\n', '清晨我放飛一群白鴿\n', '為你銜來一棵金色麥穗\n', '鴿子在風風雨雨中飛過\n', '我們祝福你的生日我的祖國\n', '願你逆風起飛雨中獲得收穫\n', '我們祝福你的生日我的中國\n', '這是兒女們心中希望的歌']
end今天是你的生日
今天是你的生日我的中國
清晨我放飛一群白鴿
為你銜來一枚橄欖葉
鴿子在叢山峻嶺飛過
我們祝福你的生日我的中國
願你永遠沒有憂患永遠寧靜
我們祝福你的生日我的祖國
這是兒女們心中期望的歌
今天是你的生日我的祖國
清晨我放飛一群白鴿
為你帶回遠方兒女的思念
鴿子在茫茫海天飛過
我們祝福你的生日我的祖國
願你月兒常圓兒女永遠歡樂
我們祝福你的生日我的祖國
這是兒女在遠方愛的訴說
今天是你的生日我的祖國
清晨我放飛一群白鴿
為你銜來一棵金色麥穗
鴿子在風風雨雨中飛過
我們祝福你的生日我的祖國
願你逆風起飛雨中獲得收穫
我們祝福你的生日我的中國
這是兒女們心中希望的歌
>>>
可以看到,x被替換了,但是列表項並沒有發生改變。
做以下實驗
alist = ['aa', 'ab', 'ac']
for i in alist:
i = i.replace('a', 'z')
print(i)#注意縮排,如果與開頭並齊,則只會輸出zc
print(alist)
得到結果
zz
zbzc
['aa', 'ab', 'ac']
如果這樣
alist = ['aa', 'ab', 'ac']
for num in range(0,len(alist)):
alist[num] = alist[num].replace('a', 'z')
print(alist[num])
print(alist)
則得到期望的效果
zz
zbzc
['zz', 'zb', 'zc']
SQLServer批量修改 replace函式
update tb rkth detail set rkthid replace rkthid,substring rkthid,3,4 2010 where substring rkthid,3,4 2005 sqlserver批量修改 replace函式 replace 用第三個表示式替換第乙個...
ant修改檔案中的內容 replace命令的使用
一 replace命令 上面的replace命令用起來很簡單,但沒有辦法做正則匹配,如果要替換的字串,是需要用正則來描述的,可以用replaceregexp byline true 表示替換所有滿足條件的字串,若設為false,則只會替換第乙個滿足正規表示式的字串 pattern 1 9 0 9 表...
chmod 命令修改檔案讀寫許可權
ubuntu chmod 命令可以用來修改檔案或資料夾的讀寫許可權 chmod 命令有兩種使用方式 一 chmod u g o a r w x filename 裡都代表的意思 u表示user,是檔案的所有者 g表示跟user同group的使用者 o表示other,即其他使用者 a表示all,所有使...