實踐練習 python檔案操作

2021-09-23 22:27:24 字數 2251 閱讀 9213

題目要求:

執行程式之前

執行程式之後

下面為編寫的**,可供參考:

import os

def modify_filename(dirname):

""":param dirname: 操作的目錄

:return:

"""# 1. 判斷查詢的目錄是否存在, 如果不存在, 顯示報錯

if not os.path.exists(dirname):

print("error: 目錄%s不存在" % (dirname))

# 2. 如果檔案存在,做如下操作:

else:

# 2-1). 列出指定目錄的所有檔名;

filenames = os.listdir(dirname)

# 2-2). 依次遍歷目錄的每乙個檔案;

for filename in filenames:

new_filename = "[西部開源]-" + filename

full_old_filename = os.path.join(dirname, filename)

full_new_filename = os.path.join(dirname, new_filename)

# 2-3). 重新命名

os.rename(full_old_filename, full_new_filename)

print("重新命名【%s】 為【%s】成功!" % (filename, new_filename))

modify_filename('img')

執行程式後,輸出為:

題目要求如下:

有兩種解決思路:

第一種:暴力破解法

第二種:滑動視窗

維護乙個滑動視窗,視窗內的都是沒有重複的字元,去盡可能的擴大視窗的大小,視窗不停的向右滑動。

如果當前遍歷到的字元從未出現過,那麼直接擴大右邊界;

如果當前遍歷到的字元出現過,則縮小視窗(左邊索引向右移動),然後繼續觀察當前遍歷到的字元;

重複1、2,直到左邊索引無法再移動;

維護乙個結果res,每次用出現過的視窗大小來更新結果res,最後返回res獲取結果。

編寫**如下,可供參考:

def longest_str(str):

window = str[0]

res = 1

l = len(str)

for letter in str[1:l+1]:

if letter not in window:

window += letter

res += 1

else:

new_window = window[1:len(window)+1]

if letter in new_window:

new_window = new_window[1:len(window) + 1]

else:

new_window = window[1:len(window) + 1] + letter

return res

print(longest_str('abcabcbb'))

輸出結果為:

讀取乙個檔案,顯示除了以井號(#)開頭的行以外的所有行。

**如下,可供參考:

import os

def unsign_file(filename):

f = open(filename,'r')

content = f.readlines()

for i in content:

i.strip(" ")

if i[0] == '#':

continue

else:

print(i)

unsign_file('passwd')

python檔案操作練習

寫檔案 練習一 寫乙個程式,讀取任意行文字資訊,當輸入空行時結束輸入,將讀入的字串存於列表 然後將列表裡面的內容寫入到檔案input.txt中 練習二 寫乙個程式,從input.txt中讀取之前輸入的資料,存入列表中,再加上行號列印顯示 格式如下 第一行 x 第二行 x 練習1 定義寫函式 def ...

python練習七十一 檔案操作練習

假設有關鍵字存放在text.txt檔案中,當使用者輸入檔案中包含的敏感字時,則用星號 替換 例如 使用者輸入 西安我的故鄉 時,則顯示為 我的故鄉 word filter set 建立的是個集合,去除重複項 with open test.txt r as f for w in f.readlines...

python 檔案查詢 修改操作練習

def file handle backend data,res none,type fetch if type fetch ret with open haproxy r as read f tag false for read line in read f if read line.strip ...