【show me the code】Python練習題&語法筆記 2
文章目錄
04. 統計文字中各單詞出現的次數
0. 問題描述及程式碼
任一個英文的純文字檔案,統計其中的單詞出現的個數。
# -*- coding: utf-8 -*-
import re
fin = open('./source/04-text.txt','r')
str = fin.read()
# 編譯正規表示式,生成一個正規表示式物件
reObj = re.compile('\b?(\w+)\b?')
# 在字串中找到正規表示式所匹配的所有子串,並返回一個列表,沒有則返回空列表。
# 注意: match 和 search 是匹配一次 findall 匹配所有。
words = reObj.findall(str)
wordDict = dict() # 建立字典
for word in words:
if word.lower() in wordDict:
wordDict[word.lower()] += 1 # 詞做key,次數做value
else:
wordDict[word] = 1
for key, value in wordDict.items():
print('%s: %s' % (key, value))
1. 正規表示式
05. 修改圖片尺寸
0. 問題描述及程式碼
你有一個目錄,裝了很多照片,把它們的尺寸變成都不大於 iPhone5 解析度的大小。
# -*- coding: utf-8 -*-
from PIL import Image
import os
path = 'source/05/pics'
resultPath = 'source/05/result'
if not os.path.isdir(resultPath): # 判斷物件是不是目錄
os.mkdir(resultPath) # 以數字許可權模式建立目錄
for picName in os.listdir(path): # 返回指定的資料夾包含的檔案或資料夾的名字的列表。
picPath = os.path.join(path, picName)
print(picPath)
with Image.open(picPath) as im:
w, h = im.size
n = w / 1366 if (w / 1366) >= (h / 640) else h / 640
im.thumbnail((w / n, h / n)) #生成圖尺寸在1366*640範圍內
im.save(resultPath+'/finish_' + picName.split('.')[0] + '.jpg','jpeg')
1. os模組
06. 統計幾篇日記最重要的詞
0. 問題描述及程式碼(有bug)
你有一個目錄,放了你一個月的日記,都是 txt,為了避免分詞的問題,假設內容都是英文,請統計出你認為每篇日記最重要的詞。
import os
import re
def findWord(DirPath):
if not os.path.isdir(DirPath):
return
fileList = os.listdir(DirPath)
reObj = re.compile('\b?(\w+)\b?')
for file in fileList:
filePath = os.path.join(DirPath, file)
if os.path.isflile(filePath) and os.path.splitext(filePath)[1] == '.txt':
with open(filePath) as f:
data = f.read()
words = reObj.findall(data)
wordDict = dict()
for word in words:
word = word.lower()
if word in ['a', 'the', 'to']:
continue
if owrd in wordDict:
wordDict[word] += 1
else:
wordDict[word] = 1
ansList = sorted(wordDict.items(), key=lambda t: t[1], reverse=True)
print('file: %s->the most word: %s' % (file, ansList[1])
if __name__ == '__main__':
findWord('source/06')
07. 統計一下你寫過多少行程式碼
0. 問題描述及程式碼
有個目錄,裡面是你自己寫過的程式,統計一下你寫過多少行程式碼。包括空行和註釋,但是要分別列出來。
# -*- coding: utf-8 -*-
import os
import re
def stat_code(dir_path):
if not os.path.isdir(dir_path):
return
exp_re = re.compile(r'^#.*')
file_list = os.listdir(dir_path)
print("%s\t%s\t%s\t%s" % ('file', 'all_lines', 'space_lines', 'exp_lines'))
for file in file_list:
file_path = os.path.join(dir_path, file)
if os.path.isfile(file_path) and os.path.splitext(file_path)[1] == '.py':
#下面程式碼不加 utf-8,內部編碼轉化成gbk編碼(預設)時會出錯
with open(file_path, encoding='utf-8') as f:
all_lines = 0
space_lines = 0
exp_lines = 0
for line in f.readlines():
all_lines += 1
if line.strip() == '':
space_lines += 1
continue
exp = exp_re.findall(line.strip())
if exp:
exp_lines += 1
print("%s\t%s\t%s\t%s" % (file, all_lines, space_lines, exp_lines))
if __name__ == '__main__':
stat_code('.')
08. 找出HTML檔案的正文
0. 問題描述及程式碼
# -*- coding: utf-8 -*-
import requests, re
from bs4 import BeautifulSoup
url = 'https://translate.google.cn/'
data = requests.get(url)
r = re.findall(r'<body>[\s\S]*</body>',data.text)
print(r[0])
print('------------------------------')
soup = BeautifulSoup(data.text,'html.parser')
print(soup.body.text)
09. 找出HTML檔案的連結
0. 問題描述及程式碼
# -*- coding: utf-8 -*-
import requests, re , os
from bs4 import BeautifulSoup
url = 'http://translate.google.cn/'
data = requests.get(url)
# urls = re.findall(r'<a.*href=\"(.*?)\".*</a>,data.text)
# print(urls)
soup = BeautifulSoup(data.text, 'html.parser')
urls = soup.findAll('a')
for u in urls:
print(u['href'])
相關文章
- github/Show me the code (0)Github
- Python學習筆記(語法篇)Python筆記
- swift學習筆記《2》-swift語法Swift筆記
- Show me the code,babel 7 最佳實踐!Babel
- Scala學習筆記(2)-基礎語法筆記
- Go 學習筆記 - Go 基礎語法(2)Go筆記
- python指令碼練習筆記Python指令碼筆記
- Python 3 學習筆記之——基礎語法Python筆記
- python 學習筆記(一)通過做題來熟悉python 的基本語法Python筆記
- Javascript 學習筆記--語法篇JavaScript筆記
- JavaScript學習筆記---基本語法JavaScript筆記
- Html 語法學習筆記一HTML筆記
- Html 語法學習筆記二HTML筆記
- Html 語法學習筆記三HTML筆記
- Show Me the Code!然後把Pepper機器人抱回家機器人
- Python學習筆記(2)Python筆記
- Python筆記_1語法總結Python筆記
- Python爬蟲:Xpath語法筆記Python爬蟲筆記
- JavaScript學習筆記2: js書寫語法及變數JavaScript筆記JS變數
- 資料庫大型應用——筆記2 50道mysql練習題資料庫筆記MySql
- Python學習筆記 - if語句Python筆記
- 《PHP學習筆記——PHP基本語法》PHP筆記
- Hive學習筆記:基礎語法Hive筆記
- [轉帖]J2ME學習札記2
- 新手練習:Python練習題目Python
- 學習筆記分享之彙編---2.彙編指令/語法筆記
- python 100題練習記錄(三)Python
- sql 語句練習(2)SQL
- Python 練習題Python
- Vue.js 2.x筆記:基本語法(2)Vue.js筆記
- 程式練習題(2)
- python學習筆記(五)——語句Python筆記
- Kotlin學習筆記-基礎語法Kotlin筆記
- 學習筆記二--Weex語法介紹筆記
- java--實驗二語法基礎練習(2)AXJava
- Talk is cheap, show me the code - 用 github 資料輔助你完善簡歷Github
- leetcode刷題筆記(3)(python)LeetCode筆記Python
- JavaScript 語法筆記JavaScript筆記