Python Basics
内容
- FizzBuzz
- テキストの読み書き
- ファイル操作
- exeファイルの実行
# FizzBuzz def fizzbuzz(x): if x % 15 == 0: return "fizzbuzz" elif x % 3 == 0: return "fizz" elif x % 5 == 0: return "buzz" else: return str(x) a = [fizzbuzz(x) for x in range(1,41)] print(a[:10]) print(a[10:20]) print(a[20:30]) print(a[30:40]) #['1', '2', 'fizz', '4', 'buzz', 'fizz', '7', '8', 'fizz', 'buzz'] #['11', 'fizz', '13', '14', 'fizzbuzz', '16', '17', 'fizz', '19', 'buzz'] #['fizz', '22', '23', 'fizz', 'buzz', '26', 'fizz', '28', '29', 'fizzbuzz'] #['31', '32', 'fizz', '34', 'buzz', 'fizz', '37', '38', 'fizz', 'buzz']
- テキストの読み書き
# Write and Read def write_test(): with open("test.txt", mode = 'w') as f: f.write("a\n") for e in ["b", "cd"]: f.write(e + "\n") # f.writelines(["b", "cd"]) は改行されない def read_test(): with open("test.txt", mode = 'r') as f: bufs = [s.strip() for s in f.readlines()] for b in bufs: print(b) write_test() read_test() # a # b # cd
- ファイル操作
# fileio import os import shutil # フォルダ作成 print("フォルダ作成") if os.path.isdir("sample"): print("sample is already made.") else: os.mkdir("sample") print(os.listdir()) print() # 空テキストの作成 print("空テキストの作成") with open("sample/test.txt", mode = 'w') as f: pass print(os.listdir("sample")) print() # ファイルコピー print("ファイルコピー") shutil.copy2("sample/test.txt", "sample/text2.txt") #copy2はメタデータ(ファイル作成日等)もコピー print(os.listdir("sample")) print() # ファイル削除 print("ファイル削除") os.remove("sample/test.txt") print(os.listdir("sample")) print() # フォルダ削除 print("フォルダ削除") shutil.rmtree("sample") # 中身があっても削除 print(os.listdir()) print() # フォルダ作成 # ['.ipynb_checkpoints', 'basics.ipynb', 'sample', 'test.txt'] # 空テキストの作成 # ['test.txt'] # ファイルコピー # ['test.txt', 'text2.txt'] # ファイル削除 # ['text2.txt'] # フォルダ削除 # ['.ipynb_checkpoints', 'basics.ipynb', 'test.txt']
- exeファイルの実行
# run exe import subprocess excel_path = r"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" subprocess.Popen(excel_path) # エクセルが起動する # Popenはアプリが起動したらすぐ制御を返す(プロセス終了を待たない)