python一道關於檔案操作的題

2021-09-30 13:39:45 字數 2924 閱讀 5459

這道題是python核心程式設計裡面的題,改編了一下(因為我只實現了一部分)。

不同的url有不同的字尾例如.com和.cn對於不同的字尾我們要把url存到不同的合法且正確的html檔案中。

首先要先解決把不同的url存到不同的檔案中。這裡要用到os模組。我們要改變當前工作目錄,把目錄設定為你想要進行操作的目錄os.chdir('c:/.../filetest.py'),然後把要進行操作的目錄的路徑傳給now_file。在這個資料夾下有三個子資料夾,可以用os.listdir()[x]定位到你想用的資料夾的名字。最後要用os.path.join(path1, path2)合成乙個完整目錄再進行操作。

os.chdir('c:/.../filetest.py')

now_file = os.getcwd()

base_html = os.path.join(now_file, os.listdir()[0])

s = input('請輸入你要儲存的url資訊:')

s1 = s.split( )

s2 = s1[1].split('.')[2][1]

#s2可以定位到中的'o'或者'n'來進行不同操作#

if s2 == 'o':

handle_com(s, now_file, base_html)

else:

handle_cn(s, now_file, base_html)

為什麼要存入html檔案中?因為這樣比較好看,在這道題裡我只是把url存入到了標籤裡,因此可以不用匯入jinja模板。當然了,這個方法比較笨,不過還沒學jinja模板只好用笨方法了。

我們需要乙個base.html檔案並把要訪問url的com.html檔案已經cn.html檔案放到乙個資料夾下。開始的時候base.html檔案裡要存東西如下:

h1>

html>

另外兩個檔案不用存東西。我們可以用迴圈把base.html檔案中的標籤遍歷一遍並寫入com.html或cn.html檔案中,並在標籤裡寫入想要存的url。就像這樣:

def

handle_com

(s, now_file, base_html):

t = 0

child_path = os.path.join(now_file, os.listdir()[2])

f = open(base_html, 'r')

f1 = open(child_path, 'w')

for eachline in f:

if t == 2:

f1.write(' ' + s + '\n')

f1.write(eachline)

else:

f1.write(eachline)

t = t + 1

f1.close()

f.close()

這樣就把url存入html檔案中了。完整**:

import os

defhandle_com

(s, now_file, base_html):

t = 0

child_path = os.path.join(now_file, os.listdir()[2])

f = open(base_html, 'r')

f1 = open(child_path, 'w')

for eachline in f:

if t == 2:

f1.write(' '+ s +'\n')

f1.write(eachline)

else:

f1.write(eachline)

t = t + 1

f1.close()

f.close()

defhandle_cn

(s, now_file, base_html):

t = 0

child_path = os.path.join(now_file, os.listdir()[1])

f = open(base_html, 'r')

f1 = open(child_path, 'w')

for eachline in f:

if t == 2:

f1.write(' ' + s + '\n')

f1.write(eachline)

else:

f1.write(eachline)

t = t + 1

f1.close()

f.close()

os.chdir('c:/users/.../filetest.py')

now_file = os.getcwd()

base_html = os.path.join(now_file, os.listdir()[0])

s = input('請輸入你要儲存的url資訊:')

s1 = s.split( )

s2 = s1[1].split('.')[2][1]

if s2 == 'o':

handle_com(s, now_file, base_html)

else:

handle_cn(s, now_file, base_html)

h1>

html>

再發一遍,更改了幾個小錯誤。

python一道關於堆疊的題

利用列表來模擬堆疊。什麼是堆疊?堆疊是一種執行 後進先出 演算法的資料結構。在這裡利用列表來模擬堆疊。def push char1,l l.insert 0,char1 print l defpop y,l if len l 0 print cannot pop from an empty list...

python一道關於字典的題

建立字典。給定兩個長度相同的列表,比如說,列表 1,2,3,和 abc def ghi 用這兩個列表裡的所有資料組成乙個字典,像這樣 在這裡要用到dict.setdefault key,default 這個函式如果key在dict內部會返回key所對應的value,key不在dict內部會在dict...

關於Python列表的一道題

題目 list1 1,2,3,4 怎麼做才能得到 2,3,4 1,3,4 1,2,4 1,2,3 最近在學習python,今天學習了python中的列表,於是上csdn上看看相關的帖子和學習心得。於是瀏覽到了這篇帖子 list.index 方法詳解 在這篇帖子的最後,作者留了一道題目,也就是標題看到...