{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "# パッケージとモジュール・ファイル操作" ], "metadata": { "id": "Fn0oKgscebci" } }, { "cell_type": "markdown", "source": [ "# 練習問題\n", "「基本的なファイルの読み書き」の練習問題にチャレンジしてみましょう。\n", "\n", "はじめに、練習問題で使用するファイルを皆さんの環境にダウンロードするため、次のコードを実行してください。" ], "metadata": { "id": "JxHGICB02o6f" } }, { "cell_type": "code", "source": [ "!wget https://github.com/tendo-sms/python_beginner_2023/raw/main/files_3/files.zip .\n", "!unzip files.zip\n", "!mv files/* ." ], "metadata": { "id": "wFGGUFvpUary" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "カレントディレクトリに、「practice1.txt」というファイルがあります。内容は次のとおりです。\n", "\n", "~~~\n", "TITLE= MgO SPECTRUM\n", "DATA TYPE= INFRARED SPECTRUM\n", "LONG DATE= 2021/10/02 10:29:30\n", "NPOINTS= ???\n", "$OPERATOR= 山﨑花子\n", "~~~" ], "metadata": { "id": "uXqXv-LeUV39" } }, { "cell_type": "markdown", "source": [ "「NPOINTS」の値は???としていますが、実際には値が入っています。この???部分だけを、「practice1_out.txt」というファイルに出力するプログラムを作成してみましょう。(\"NPOINTS= \"という部分や、他の行は出力しない)\n", "\n", "ヒント:\n", "\n", "本日学んだ内容のほか、「Pythonの基礎2」で学んだ以下の内容も活用してください。\n", "\n", "* 条件により処理を変更する(if文)\n", "* 文字列の分割(split)\n", "* 文字列の先頭および末尾の文字を削除(strip、lstrip、rstrip)\n", "* 文字列の判定(in、not in、startswith、endswith)\n", "\n", "「Pythonの基礎2」講義資料のURL:\n", "\n", "https://colab.research.google.com/drive/1GnpmuZf3bSID-9GdZnudt8Ke3NEfavPR?usp=sharing" ], "metadata": { "id": "H_JeLDIU5PCH" } }, { "cell_type": "code", "source": [ "# プログラムを作成してみましょう" ], "metadata": { "id": "ncOnzBtx5hS9" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "# 練習問題\n", "basename関数、join関数の2つを使って、「input/spectrum_001.jdx」という入力ファイルのパスから、「output/spectrum_001_graph.png」という出力ファイル名を生成してみましょう。\n", "\n", "(実際のところはいくらでも方法はあるのですが、今回は上記2つの関数を使ってください!)\n", "\n", "ヒント:splitメソッドも使用します。" ], "metadata": { "id": "3PhK3YVmP1jk" } }, { "cell_type": "code", "source": [ "import os\n", "\n", "input_path = \"input/spectrum_001.jdx\"\n", "\n", "# input_pathを加工して「output/spectrum_001_graph.png」という文字列を作成し、変数output_pathに格納してください。\n", "# プログラムを作成してみましょう" ], "metadata": { "id": "_hhV3uWGQEWq" }, "execution_count": null, "outputs": [] } ] }