Pythonメモ

プログラミング言語「Python」に関する備忘録です。

インストール

https://www.python.org/ の「Downloads」→「Windows」から「Windows x86-64 executable installer」をダウンロードしました。

以下の画面の一番下にある「Add Python 3.7 to PATH」をチェック後に「Install Now」をクリックしてインストールします。

Windowsの場合、通常は画面左下にある検索ボックスに「cmd」と入力してコマンドプロンプトを開き、バージョンを確認します。

以下のように、「python –version」でバージョンが確認できます。

>python --version
Python 3.7.3

「Pythonは…認識されていません」と表示される場合、「Add Python 3.7 to PATH」のチェックを入れ忘れている可能性が高いです。ダウンロードしたexecutable installerをダブルクリックして、アンインストールと再起動を行い、再インストールしましょう。

Xreaを利用する方法もあるが、バージョンを確認しよう

無料レンタルサーバ「Xrea」でPythonが使えるので、Xreaを使用する方法もあります。

コマンド作業はSSH接続にて行います。

https://(サーバ名).xrea.com/jp/admin.cgi

にアクセス後、「ホスト情報登録」に移動し、[SSH登録]をクリックします。反映には5~10分程度掛かります。

「python」コマンドでバージョン2、「python3」コマンドでバージョン3が使えます。

2019年7月14日時点のXreaのPython2のバージョンは「2.7.5」、Python3のバージョンは「3.6.8」、OSは「CentOS 7.5.1804」です。

$ python --version
Python 2.7.5

$ python3 --version
Python 3.6.8

$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

ユーザのロケールを「ja_JP.UTF-8」に変更します。

$ export LANG=ja_JP.UTF-8

日本語の設定

Pythonで日本語を扱う場合は、UTF-8に変更します。Windowsの場合、コマンドプロンプト上で、「chcp 65001」を実行します。

C:\python>chcp 65001

Active code page: 65001

C:\python>

また、ファイルの保存形式もUTF-8とします。

Hello Worldの出力

まずは「Hello World」を出力しましょう。

今回は「c:\python\test001.py」から出力しました。「test001.py」には以下のように記述します。

print("Hello, World!")

保存後、コマンドプロンプトで「python」フォルダに移動し、「test001.py」を実行します。

>cd c:\python

c:\python>dir
2019/06/13  15:38                22 test001.py

c:\python>python test001.py
Hello, world!

時刻の表示

Pythonで日時を扱う場合は、datetimeモジュールを使います。現在時刻の取得は、datetime.datetime.now()関数を使います。日時を文字列に変換するには、str関数を使います。コマンドプロンプト上でファイルの内容を表示するにはtypeコマンドを使います。(Linuxはcat)

C:\python>type test001.py
import datetime
datetime = datetime.datetime.now()
print("Hello, world!")
print("現在時刻: " + str(datetime))
C:\python>python test001.py
Hello, world!
現在時刻: 2019-06-18 13:45:09.267429

日付入りファイルの作成と書き込み

上書きは「w」、追記は「a」、改行は「\n」、2桁の年は「%y」です。

import datetime
datetime = datetime.datetime.now()
print("Hello, world!")
print("現在時刻: " + str(datetime))
file001 = open("test_{0:%Y%m%d}.txt".format(datetime), "w")
file001.write("テスト1です。")
file001.write("テスト2です。\n")
file001.write("テスト3です。\n")
file001.close()
file002 = open("test_{0:%Y%m%d%H%M}.txt".format(datetime), "a")
file002.write("追記テスト1です。")
file002.write("追記テスト2です。\n")
file002.write("追記テスト3です。\n")
file002.close()

<注意>作成されたファイルはシフトJISなので、typeコマンドでファイルを開く際はutf-8に変更する必要があります。

input関数による対話的な文字入力

your_name = input("お名前: ")
your_email = input("メールアドレス: ")
file001 = open("test002.txt", "a")
file001.write("お名前: " + your_name + ", メールアドレス: " + your_email + "\n")
file001.close

for文とrange関数
int()で整数に変換、str()で数値に変換、for文では入力値よりも1小さい値までの合計しか計算されないので、入力値までの合計を出力する場合は1加算(2行目)

a = input("数字を入力してください: ")
b = int(a) + 1
d = sum(c for c in range(b))
print("0から入力値までの合計: " + str(d))

連番ファイルの一括作成

a = input("開始: ")
b = input("終了: ")
c = input("間隔: ")
d = input("桁数: ")
e = int(b) + 1
for f in range(int(a), e, int(c)):
 file001 = str(f).zfill(int(d)) + ".txt"
 with open(file001, "a") as file002:
 file002.write("テストです" + "\n")
タイトルとURLをコピーしました