Differences between revisions 4 and 5
Revision 4 as of 2019-03-28 14:37:10
Size: 621
Comment:
Revision 5 as of 2019-03-28 14:37:57
Size: 2936
Comment:
Deletions are marked like this. Additions are marked like this.
Line 29: Line 29:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ==============================================================================
# * Copyright (c) 2018 IIJIMA, Tadashi
# * (IIJIMA Laboratory, Dept. of Science and Technology, Keio University).
# ==============================================================================
# ソフトウェア工学 期末試験 exam_03_03a_print_file_properties.py
# Exam 03-03: キーボードから読み込んだファイル名のファイルをオープンし,
# そこに書かれている内容を,すべてそのまま,
# 画面に出力する関数.
# 更に,その読み込んだ内容の行数を画面に表示する関数.
# 2019-01-16 飯島 正 (iijima@ae.keio.ac.jp)
# ==============================================================================
import sys
# ==============================================================================
# ===== 【関数定義】 =====
def read_file(file_name):
    lines = []
    try:
        with open(file_name) as f:
            lines = f.readlines()
    except FileNotFoundError:
        print( "エラー:ファイルがない" )
        sys.exit()
    return( lines )
# ==============================================================================
# ===== 【関数定義】 =====
def print_file_contents(file_name):
    lines = read_file(file_name)
    for line in lines:
        print(line, end="")
    return( lines )
# ==============================================================================
# ===== 【関数定義】 =====
def print_line_number(file_name):
    lines = read_file(file_name)
    print(len(lines))
Line 30: Line 67:
# ==============================================================================
# ===== 【メイン・プログラム】 =====


# ----- ファイル名をキーボードから入力する -----
file_name = input( "ファイル名を入力してください >>> " )

# ----- 指定したファイル名のファイルの内容を表示する -----
lines = print_file_contents(file_name)

# ----- 指定したファイル名のファイルの行数を表示する -----
print_line_number(file_name)

# ==============================================================================


授業-ソフトウェア工学 > 2018年度 > 試験 > 期末試験 > 期末試験 問題03


授業-2018年度-ソフトウェア工学-期末試験 問題01

問題03:

*

(公開)



問題 03:

[ edit]


問題

[ edit]



解答例1 (exam_03_03a_print_file_properties.py)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ==============================================================================
# * Copyright (c) 2018 IIJIMA, Tadashi
# *       (IIJIMA Laboratory, Dept. of Science and Technology, Keio University).
# ==============================================================================
# ソフトウェア工学 期末試験 exam_03_03a_print_file_properties.py
# Exam 03-03: キーボードから読み込んだファイル名のファイルをオープンし,
#             そこに書かれている内容を,すべてそのまま,
#             画面に出力する関数.
#             更に,その読み込んだ内容の行数を画面に表示する関数.
#        2019-01-16 飯島 正 (iijima@ae.keio.ac.jp)
# ==============================================================================
import sys
# ==============================================================================
# ===== 【関数定義】  =====
def read_file(file_name):
    lines = []
    try:
        with open(file_name) as f:
            lines = f.readlines()
    except FileNotFoundError:
        print( "エラー:ファイルがない" )
        sys.exit()
    return( lines )
# ==============================================================================
# ===== 【関数定義】  =====
def print_file_contents(file_name):
    lines = read_file(file_name)
    for line in lines:
        print(line, end="")
    return( lines )
# ==============================================================================
# ===== 【関数定義】  =====
def print_line_number(file_name):
    lines = read_file(file_name)
    print(len(lines))

# ==============================================================================
# ===== 【メイン・プログラム】 =====


# ----- ファイル名をキーボードから入力する -----
file_name = input( "ファイル名を入力してください >>> " )

# ----- 指定したファイル名のファイルの内容を表示する -----
lines = print_file_contents(file_name)

# ----- 指定したファイル名のファイルの行数を表示する -----
print_line_number(file_name)

# ==============================================================================


SoftEng: 2018/Exam/03/03/IndexPage (last edited 2019-03-28 14:37:57 by TadashiIijima)