Python総合学習【応用編】

関数

2つ引数を乗算する関数です。

ソース

#coding: shift_jis

def SampleFunc(A, B):

  return A * B

X = 2

Y = 3

Z = SampleFunc(X, Y)

print(Z)

input()

関数SampleFuncを定義し、関数を呼ぶサンプルです。

ファイル操作

ファイルの存在有無による処理分岐です。

ソース

#coding: shift_jis

import os

if os.path.exists("テキスト.txt") :

   os.remove("テキスト.txt")

else :

   print("ファイルが存在しません。")

input()

importモジュールを使用、os.path.exists(“テキスト.txt”)が存在したら、テキスト.txtファイルを削除します。ファイルが存在しなければ、”ファイルが存在しません。”と表示します。

ファイル入出力

”入力.txt”というテキストファイルを読み込み、”出力.txt”というテキストファイルに出力する処理です。

ソース

#coding: shift_jis

Rf = open(".\\入力.txt")

Wf = open(".\\出力.txt", "w")

for line in Rf :

   Wf.write(line)

Rf.close()

Wf.close()

input()

説明

open(ファイル名,入出力モード)で、入出力モードに従ってファイル名を処理します。

入出力モード
 ”r” : 読み取り専用モード
 ”w” : 上書きモード

モードを設定して、ファイルを開きます。

for 変数 in オブジェクト

入出力モード
 ”r” : 読み取り専用モード
 ”w” : 上書きモード

ループルで、ファイルから1行ずつ取得します。

オブジェクト.write(文字列)

指定した文字列を書き込みます。

オブジェクト.close()

ファイルを閉じます。

外部プログラム実行

外部プログラムの実行処理について解説します。

ソース

#coding: shift_jis

import subprocess

subprocess.run("notepad.exe")

input()

subprocess.run()で、シェルを実行します。

メイン.py

#coding: shift_jis

import subprocess

subprocess.run("py サブ.py aaa bbb")

input()

サブ.py

#coding: shift_jis

import sys

print("引数1:" + sys.argv[1])

print("引数2:" + sys.argv[2])

subprocess.run(py [スクリプトファイル名] [引数…])

スクリプトファイルを呼び出します。

sys.argv(0)

引数を参照します。

例外処理

例外処理について解説します。

ソース

#coding: shift_jis

try:

   X = 1 / 0

   print("正常")

except:

   print("失敗")

finally:

   input()

try:
 例外が発生する可能性がある処理
except:
 例外発生時の処理
finally:
 最後に必ず実行する処理

例外処理を定義します。