Pythonで簡易エディタを作る
今回はpythonでエディタをつくってみましょう。
まず、エディタを作るには、とりあえず入力された行を保存する必要があります。
ここでは、リストを使って行を保存します。
このようにすることで、入力された行をリストの中に保存することができます。
raws = []
while True:
cont = raw_input(">> ")
raws.append(cont)
これをファイルに保存するためには、
このようにします。そうすれば、各行に改行が追加されます。
Contents = '\n'.join(cont)
あとは、これをファイルオブジェクトにwriteすれば完成です。
僕が書いたデモ版を載せておきます。
#!/usr/bin/python #coding:utf-8 import sys,os contents = [] filename = sys.argv[1] i = 1 while True: edit = raw_input("%s > " % i) if edit == "exit": if os.access(filename,os.F_OK): print "'%s' is Already exist." % filename break else: f = open(filename,"w") f.write('\n'.join(contents)) f.close() print "Maked." break else: contents.append(edit) i += 1
行が分かりやすいように行番号を指定しているのと、exitと打たれたらファイルに保存する、ということをしています。
これを応用すれば、一時的に何かのものにコメントを要求して保存することもできますね。
これで簡易エディタの完成です。
コマンドを増やせば、行の削除などを実装できると思います。
行を削除するだけならば、リストの-1の要素をpopかremoveするだけでできますね。
以上です!