コンテンツへスキップ

ファイルの読み込み

# -*- coding:utf-8 -*-
import codecs

FILE="テキストファイル"
f=codecs.open(FILE,'rb','utf-8','')
contents=f.read()
f.close()
for line in contents.split('\n'):
    print(line)

ファイルへ出力

# -*- coding:utf-8 -*-
import codecs

FILE="test.txt"
f=codecs.open(FILE,'wb','utf-8')
f.write("書き込みテスト")
f.close()

 

バージョンは2でも3でも同じ。
どちらもモジュールreを使う。

>>> import re
>>> string = 'here is some text I wrote .'

その1

>>> re.sub( '\s+', ' ',string ).strip()
'here is some text I wrote .'

その2

>>> ' '.join(string.split())
'here is some text I wrote .'

Python 3.5.5で動作確認済み

■ 使い方
henkan.py [置換前文字列] [置換後文字列] [Inputファイル名] [Outputファイル名(省略した場合は画面出力を行う)]

■ コード

#!/usr/bin/python
import os,sys

n = len(sys.argv)

if not 3 <= n <= 5:
        print("引数が不足しています。")
else:
        stext = sys.argv[1]
        rtext = sys.argv[2]
        input_file = sys.stdin
        output_file = sys.stdout
        if n > 3:
                input_file = open(sys.argv[3])
        if n > 4:
                output_file = open(sys.argv[4], 'w')
        for s in input_file:
                output_file.write(s.replace(stext, rtext))
        output_file.close()
        input_file.close()

import openpyxl
wb = openpyxl.load_workbook('example.xlsx')
type(wb)

wb.get_sheet_names()
sheet=wb.get_sheet_by_name('sheet3')
sheet
sheet.title
another_sheet = wb.active
another_sheet

# シートからセルを取得する。
sheet['A1']
sheet['A1'].value
c = sheet['b1']
c.value

sheet.cell(row=1, column=2).value
for i in range(1, 8, 2):
    print(i, sheet.cell(row=i, column=2).value)

シェル

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import sys
import commands

args = sys.argv
argc = len(args)

if (argc < 2):
    print "Usage:\n" +  args[0] + "設定ファイル\" \"プロパティファイル\""
    quit()

CONF_FILE = args[1]
PROP_FILE = args[2]

f = open(PROP_FILE)
lines = f.readlines()
f.close()

for line in lines:
    line = line.strip()

    p = line.split("=")
    prop_title = p[0] + "="
    prop_val = p[1].strip()

    com = "grep \"" + prop_title + "\"" + " " + CONF_FILE
    ret = commands.getoutput(com)

    if ret == "":
        com = "sysctl -a | grep \"" + prop_title + "\""
        ret = commands.getoutput(com)
        com_type = "s"
    else:
        com_type = "f"

    p2 = ret.split("=")
    prop_val_sysctl = p2[1].strip()

    if prop_val == prop_val_sysctl:
        res = "O"
    else:
        res = "X"

    print res + "," + "," + com_type + "," + prop_title + "," + prop_val_sysctl + "," + prop_val

確認したいパラメータを書いたファイル

net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 3
kernel.shmmax = 4
net.ipv6.ip6frag_time = 5

使い方

[root@centos65sono1 SysctlCheck]# ./propCheck.py "/etc/sysctl.conf" "test.txt"
O,,f,net.ipv4.tcp_syncookies =,1,1
O,,f,kernel.msgmnb =,65536,65536
X,,f,kernel.msgmax =,65536,3
X,,f,kernel.shmmax =,68719476736,4
X,,s,net.ipv6.ip6frag_time =,60,5