import os
import shutil
images = [f for f in os.listdir() if '.jpg' in f.lower()]
os.mkdir('downloaded_images')
for image in images:
new_path = 'downloaded_images/' + image
shutil.move(image, new_path)
ref:python move file
PythonMemo
2022年7月26日
Mov all jpg files ...
2022年7月17日
[ ] and : :
Arryay 的'部份' 複製,可以用 ":"
然後
[i:j:s]
- i : from, default 0
- j : to, default end
- s : step, default 1, 也可以不寫
A = B[:] 或是 B[::]就是複製全部。
然後
A = B[::-1]把B 倒著排
2020年6月11日
command line 參數
import sys
print("the number of arguments is %d" % len(sys.argv))
print(sys.argv)
for i in range(len(sys.argv)):
print("%d:" % i + sys.argv[i])
執行:
$ python testarg.py a b c the number of arguments is 4 ['testarg.py', 'a', 'b', 'c'] 0:testarg.py 1:a 2:b 3:c
2020年6月9日
modify module path in source code
import module 的 search path,可以用下面的 code 列出來..
例如
import sys
print(sys.path)
結果:
['', 'C:\\Users\\charles.chang\\Anaconda3\\envs\\mytest\\python38.zip',
'C:\\Users\\charles.chang\\Anaconda3\\envs\\mytest\\DLLs',
'C:\\Users\\charles.chang\\Anaconda3\\envs\\mytest\\lib',
'C:\\Users\\charles.chang\\Anaconda3\\envs\\mytest',
'C:\\Users\\charles.chang\\Anaconda3\\envs\\mytest\\lib\\site-packages']
所以就可以修改 sys.path,變更程式 import module 的 search path..例如
sys.path.insert(0,"C:\\mymodule")
當然,這行code 要寫在 import 之前...
2020年5月31日
numpy : save and load. 存檔與讀檔
numpy 的 save 和 load 可以作到把 save 物件的身份和資料都紀錄。
例如:complex..
import numpy as np
A = np.array([1+2j, 3+4j, 5+6j])
np.save('Adata',A)
B = np.load('Adata.npy')
print(B)
執行結果:
[1.+2.j 3.+4.j 5.+6.j]
B 從 Adata.npy load 資料後,自動成為 complex type array.
2019年6月19日
venv : virtual environment
venv 會在目前目錄下 create 一個 virtual environment 用的目錄(在 venc create 時指定)。
並且把目錄加進 sys.path 中。
之後,在這個virtual environment 中安裝的 python module,都會裝在這個目錄中,而不會是系統 /usr/lib/...
這樣是為了解決 python module 一堆相依和版本衝突情況。
讓每一個 project 存放自己需要的版本。
--- 但是這樣project folder 不就變很大?
使用方式是:
到project folder 下..
要退出的話,直接:
python2 跟 python3 的 command 不一樣,但是動作是相同的。
python2 沒有 venv 這個 command,所以要直接用virtualenv:
另外,在 venv 狀態下 pip install 的 package 都會安裝在local 的 myenv 目錄下,
所以將來要在另一個地方重建的話,有必要要把目前venv 安裝的東西都再裝一次。
先把安裝的module列出:
之後,到新環境,只要:
並且把目錄加進 sys.path 中。
之後,在這個virtual environment 中安裝的 python module,都會裝在這個目錄中,而不會是系統 /usr/lib/...
這樣是為了解決 python module 一堆相依和版本衝突情況。
讓每一個 project 存放自己需要的版本。
--- 但是這樣project folder 不就變很大?
使用方式是:
到project folder 下..
python3 -m venv myenv
source myenv/bin/activate
然後你就會看到 prompt 會多一個 (myenv),代表你現在是在 virtual environment 的環境。要退出的話,直接:
$ deactivate
python2 跟 python3 的 command 不一樣,但是動作是相同的。
python2 沒有 venv 這個 command,所以要直接用virtualenv:
virtualenv myenv
source myenv/bin/activate
另外,在 venv 狀態下 pip install 的 package 都會安裝在local 的 myenv 目錄下,
所以將來要在另一個地方重建的話,有必要要把目前venv 安裝的東西都再裝一次。
先把安裝的module列出:
$ pip freeze > requirements.txt
這個 requirement.txt 就是目前venv環境中所有安裝的 module.之後,到新環境,只要:
$ pip install -r requirements.txt
就可以把一樣的 module 都裝起來
2018年6月13日
decorator -- '@' symbol
訂閱:
文章 (Atom)