2016年9月25日日曜日

開発環境

Exercises for Programmers: 57 Challenges to Develop Your Coding Skills (Brian P. Hogan 著、Pragmatic Bookshelf)のChapter 8(Working with Files)、43(Website Generator)を取り組んでみる。

43(Website Generator)

コード(Emacs)

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

import os

name = input('Site name: ')
author = input('Author: ')
js = input('Do you want a folder for JavaScript? ')
css = input('Do you want a folder for CSS? ')

os.mkdir(name)
style = ''
if js == 'y':
    os.mkdir(os.path.join(name, 'js'))
if css == 'y':
    os.mkdir(os.path.join(name, 'css'))
    style = (
        '\n    <link rel="stylesheet" type="text/css" href="{0}/">'
        .format('css')
    )

with open(os.path.join(name, 'index.html'), 'w') as f:
    print('''<!doctype html>
<html>
  <head>
    <meta name="author" content="{author}">
    <title>{title}</title>{style}
  </head>
  <body>
  </body>
</html>'''.format(author=author, title=name, style=style),
          file=f)

print('Created {0}\n'
      'Created {1}'.format(os.path.join(os.curdir, name), 'index.html'))
if js == 'y':
    print('Created {0}/'.format(os.path.join(os.curdir, name, 'js')))
if css == 'y':
    print('Created {0}/'.format(os.path.join(os.curdir, name, 'css')))

入出力結果(Terminal, IPython)

$ ./sample43.py
Site name: awesomeco
Author: Max Power
Do you want a folder for JavaScript? y
Do you want a folder for CSS? y
Created ./awesomeco
Created index.html
Created ./awesomeco/js/
Created ./awesomeco/css/
$ ls -R awesomeco/
./  ../  css/  index.html js/

awesomeco//css:
./ ../

awesomeco//js:
./ ../
$ cat awesomeco/index.html 
<!doctype html>
<html>
  <head>
    <meta name="author" content="Max Power">
    <title>awesomeco</title>
    <link rel="stylesheet" type="text/css" href="css/">
  </head>
  <body>
  </body>
</html>
$ ./sample43.py
Site name: python
Author: kamimura
Do you want a folder for JavaScript? n
Do you want a folder for CSS? n
Created ./python
Created index.html
$ ls -R python/
./  ../  index.html
$ cat python/index.html 
<!doctype html>
<html>
  <head>
    <meta name="author" content="kamimura">
    <title>python</title>
  </head>
  <body>
  </body>
</html>
$ 

0 コメント:

コメントを投稿