初學者學習 python實現字元動畫

2021-07-02 16:33:53 字數 1892 閱讀 7728

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# 有關幀的一些引數

# 寬 80個單位

# 高 30個單位

# 幀率 :30/sec

import image

import os

import time

# 如同之前公開課講授的,將檔案路徑指向的檔案轉換成字元畫

# 儲存在`pic_str`中返回

# 閾值為128,大於閾值的用' '表示白色,小於的用『#』表示黑色

defimageascii(filepath):

img = image.open(filepath)

img = img.convert('l'

)pix = img.load()

width , height = img.size

pic_str =''

for h in

xrange(height):

for w in

xrange(width):

if (int(pix[w,h]) <

128):

pic_str +=

'#'else:

pic_str +=''

pic_str +='\n

'return pic_str

# 針對`filelist`的排序函式

# 對於`bd******`的檔名形式根據後六位數字從小到大依次排序

deffile_cmp(x,y):

a =int(x.split('.'

)[0][2:])

b =int(y.split('.'

)[0][2:])

if a == b:

return

0if a > b:

return

1else:

return-1

# 設定檔案型別和幀所在路徑

filetype =

'bmp'

capturefolder =

"/home/grzhan/windows_g:/capture/"

# 幀的寬高

width =

80height =

30# os.listdir 有點相當於linux命令列下的`ls`命令,

# 獲取指定目錄下的檔案,並以 list 的形式返回

filelist = os.listdir(capturefolder)

pic_string =''

filelist.sort(cmp

=file_cmp)

for file_ in filelist:

if file_.split('.'

)[1] == filetype:

img_str = imageascii(capturefolder + file_)

# 為音畫同步提供基礎,這裡的含義就是延遲0.051秒

time.sleep(0.051)

# 在linux shell使用的清屏函式

# 在windows下請使用 os.system("cls")

os.system("clear"

)print img_str

pic_string

+=img_str

注:1、

在開始素描效果之前,我們需要首先進行灰度影象預處理。所幸的是,用pil非常容易實現。設img是image類的例項,我們只要用convert函式強制轉換為l模式即可。?

1

img=img.convert("l")

python初學者,列表

2.列表 3.通用操作 4.修改列表 5.列表的方法 6.遍歷 語法列表名 元素1,元素2,元素3,元素n list 建立乙個列表 print list type list 執行結果為list 1,2,3,4,5 print list 0 結果是 1 print list 4 結果是 5 print...

python初學者學習筆記(1)

一 前期的準備 注 同一臺電腦可以安裝多個版本的python,需要切換使用可在配置環境變數中修將要使用的版本置頂。二 python執行過程 原始檔 py檔案 載入後經過編譯 位元組碼檔案 pyc檔案 二進位制 直譯器解釋 輸出 編譯方式 方法一 python shell輸入 import py co...

初學者談初學者學html

這是乙個段落。解釋一下就是 html 與 html 之間的文字是描述網頁。head 與 head 之間的文字是文件的元資料。title 與 之間的文字是文件的標題。body 與 body 之間的文字是可見的頁面內容,是文章的主體部分。h1 與 h1 之間的文字被顯示為乙個大標題。p 與 p 之間的文...