Python
提供:kuhalaboWiki
(版間での差分)
(→ディレクトリー内のファイルの読み込み) |
(→ディレクトリー内のファイルの読み込み) |
||
| 73行: | 73行: | ||
# yyy | # yyy | ||
| + | </pre> | ||
| + | |||
| + | ランダムに複数の要素を選択(重複なし): random.sample() | ||
| + | randomモジュールの関数sample()で、リストからランダムで複数の要素を取得できる。要素の重複はなし(非復元抽出)。 | ||
| + | |||
| + | 第一引数にリスト、第二引数に取得したい要素の個数を指定する。リストが返される。 | ||
| + | |||
| + | <pre> | ||
| + | import random | ||
| + | |||
| + | l = [0, 1, 2, 3, 4] | ||
| + | |||
| + | print(random.sample(l, 3)) | ||
| + | # [1, 3, 2] | ||
| + | |||
| + | print(type(random.sample(l, 3))) | ||
| + | # <class 'list'> | ||
</pre> | </pre> | ||
2019年4月28日 (日) 06:15時点における版
目次 |
ファイル操作
ディレクトリー内のファイルの読み込み
- glob
ディレクトリー内のファイルのリストを取得
import glob
if __name__ == '__main__':
file_list = glob.glob('path/to/dir/*.jpg')
for filename in file_list:
with open(filename, 'r') as input:
...
ソートして読み込む。
import glob
if __name__ == '__main__':
file_list = sorted(glob.glob('path/to/dir/*.txt'))
for filename in file_list:
with open(filename, 'r') as input:
...
元のリストをランダムソート(シャッフル): random.shuffle()
import random l = list(range(5)) print(l) # [0, 1, 2, 3, 4] random.shuffle(l) print(l) # [4, 3, 2, 1, 0]
ディレクトリー内のファイルのリストを取得し、ランダムにシャッフルする。
import glob
import random
if __name__ == '__main__':
file_list = glob.glob('path/to/dir/*.jpg')
random.shuffle(file_list)
for filename in file_list:
with open(filename, 'r') as input:
...
リストからランダムに要素を抽出する。
import random
l = [0, 1, 2, 3, 4]
print(random.choice(l))
# 0
print(random.choice(('xxx', 'yyy', 'zzz')))
# yyy
ランダムに複数の要素を選択(重複なし): random.sample() randomモジュールの関数sample()で、リストからランダムで複数の要素を取得できる。要素の重複はなし(非復元抽出)。
第一引数にリスト、第二引数に取得したい要素の個数を指定する。リストが返される。
import random l = [0, 1, 2, 3, 4] print(random.sample(l, 3)) # [1, 3, 2] print(type(random.sample(l, 3))) # <class 'list'>
ネットワーク
SCP転送
- paramikoを使う
- paramikoインストール
pip install paramiko
- ssh接続
import paramiko
with paramiko.SSHClient() as ssh:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='XXX.XXX.XXX.XXX', port=22, username='username', password='password')
- scp client作成
import scp
with scp.SCPclient(ssh.get_transport()) as scp:
scp.put('filename', '/upload/to/remote/directory/')
scp.get('/upload/to/remote/directory/')
- 上記の2つをまとめる。
import paramiko
import scp
with paramiko.SSHClient() as ssh:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='XXX.XXX.XXX.XX', port=22, username='username', password='password')
with scp.SCPclient(ssh.get_transport()) as scp:
scp.put('filename', '/upload/to/remote/directory/')
scp.get('/upload/to/remote/directory/')