• 每隔10s打开一次b站
  • 循环3次结束
import webbrowser
import time

total_breaks = 3
break_count = 0

print ("This program started on " + time.ctime())
while (break_count < total_breaks):
    time.sleep(10)
    webbrowser.open("bilibili.com")
    break_count = break_count + 1

  • 提取一个folder里的所有文件的文件名
  • 删除数字
import os

def rename_files():
    #(1) get file names from a folder
    file_list = os.listdir(r"C:\Users\Xiney\Desktop\prank")
    print (file_list)
    saved_path = os.getcwd()
    print("Current Working Directory is" + saved_path)
    os.chdir(r"C:\Users\Xiney\Desktop\prank")

    #(2) for each file, rename filename
    for file_name in file_list:
        print ("Old Name - " + file_name)
        print ("New Name - " + file_name.translate(None, "0123456789"))
        os.rename(file_name, file_name.translate(None, "0123456789"))
    os.chdir(saved_path)

rename_files()

  • 画一个正方形
  • 向右旋转30度
  • 重复此动作一周

import turtle

def draw_square(some_turtle):
    i = 1
    while i <= 12:    
        for x in range (0,4):
            some_turtle.forward(100)
            some_turtle.right(90)            
        some_turtle.right (30)
        i += 1

def draw_art():
    window = turtle.Screen()
    window.bgcolor("red")

    brad = turtle.Turtle()
    draw_square(brad)
   
    window.exitonclick()

draw_art()

  • 画一个菱形
  • 向右旋转5度
  • 重复此动作一周

import turtle

def draw_square(some_turtle):

    for i in range (0,72):

        for x in range (0,2):
            some_turtle.forward(100)
            some_turtle.right(60)
            some_turtle.forward(100)
            some_turtle.right(120)

        some_turtle.right(5)

def draw_art():
    window = turtle.Screen()
    window.bgcolor("grey")

    brad = turtle.Turtle()
    draw_square(brad)
   
    window.exitonclick()

draw_art()

square


  • 打开指定txt,提取内容
  • 利用Google的what do I love检查脏字
  • {“response”: “true”}则代表有脏字

import urllib

def read_text():

    quotes = open("/Users/geniuswxy/Desktop/checktext.rtf")
    contents_of_file = quotes.read()
    print (contents_of_file)
    quotes.close()
    check_profanity(contents_of_file)
    
def check_profanity(text_to_check):
    connection = urllib.urlopen("http://www.wdyl.com/profanity?q="+text_to_check)
    output = connection.read()
    print(output)
    connection.close()
    
read_text()

 


Screen_Shot_2014_04_18_at_4_52_12_PM
  • media.py定义了Class movie
    • movie拥有__init__和show_trailer两个自带method
  • entertainment_center.py用来接受movie个体的不同属性
  • fresh_tomatoes.py生成html文件
import webbrowser

class Movie():
    def __init__(self, movie_title, movie_storyline, poster_image, trailer_youtube):
        self.title = movie_title
        self.storyline = movie_storyline
        self.poster_image_url = poster_image
        self.trailer_youtube_url = trailer_youtube

    def show_trailer(self):
        webbrowser.open(self.trailer_youtube_url)
import media
import fresh_tomatoes

toy_story = media.Movie("Toy Story", "If you love toys, you will love this movie!", "https://upload.wikimedia.org/wikipedia/en/1/13/Toy_Story.jpg", "https://www.youtube.com/watch?v=XSvTH668d50")

#print (toy_story.storyline)

avatar = media.Movie("Avatar", "Avatar 3D is the best 3D movie in the world!", "https://upload.wikimedia.org/wikipedia/en/b/b0/Avatar-Teaser-Poster.jpg", "https://www.youtube.com/watch?v=5PSNL1qE6VY")

#print (avatar.storyline)

spirited_away = media.Movie("Spirited Away", "Most famous Japanese Anime Movie", "https://upload.wikimedia.org/wikipedia/zh/thumb/6/61/Spirited_away.jpg/375px-Spirited_away.jpg", "https://www.youtube.com/watch?v=ByXuk9QqQkk")
#spirited_away.show_trailer()

movies = [toy_story, avatar, spirited_away]

fresh_tomatoes.open_movies_page(movies)

import webbrowser
import os
import re

# Styles and scripting for the page
main_page_head = '''
<head>
    <meta charset="utf-8">
    <title>Fresh Tomatoes!</title>

    <!-- Bootstrap 3 -->
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap-theme.min.css">
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
    <style type="text/css" media="screen">
        body {
            padding-top: 80px;
        }
        #trailer .modal-dialog {
            margin-top: 200px;
            width: 640px;
            height: 480px;
        }
        .hanging-close {
            position: absolute;
            top: -12px;
            right: -12px;
            z-index: 9001;
        }
        #trailer-video {
            width: 100%;
            height: 100%;
        }
        .movie-tile {
            margin-bottom: 20px;
            padding-top: 20px;
        }
        .movie-tile:hover {
            background-color: #EEE;
            cursor: pointer;
        }
        .scale-media {
            padding-bottom: 56.25%;
            position: relative;
        }
        .scale-media iframe {
            border: none;
            height: 100%;
            position: absolute;
            width: 100%;
            left: 0;
            top: 0;
            background-color: white;
        }
    </style>
    <script type="text/javascript" charset="utf-8">
        // Pause the video when the modal is closed
        $(document).on('click', '.hanging-close, .modal-backdrop, .modal', function (event) {
            // Remove the src so the player itself gets removed, as this is the only
            // reliable way to ensure the video stops playing in IE
            $("#trailer-video-container").empty();
        });
        // Start playing the video whenever the trailer modal is opened
        $(document).on('click', '.movie-tile', function (event) {
            var trailerYouTubeId = $(this).attr('data-trailer-youtube-id')
            var sourceUrl = 'http://www.youtube.com/embed/' + trailerYouTubeId + '?autoplay=1&html5=1';
            $("#trailer-video-container").empty().append($("<iframe></iframe>", {
              'id': 'trailer-video',
              'type': 'text-html',
              'src': sourceUrl,
              'frameborder': 0
            }));
        });
        // Animate in the movies when the page loads
        $(document).ready(function () {
          $('.movie-tile').hide().first().show("fast", function showNext() {
            $(this).next("div").show("fast", showNext);
          });
        });
    </script>
</head>
'''

# The main page layout and title bar
main_page_content = '''
<!DOCTYPE html>
<html lang="en">
  <body>
    <!-- Trailer Video Modal -->
    <div class="modal" id="trailer">
      <div class="modal-dialog">
        <div class="modal-content">
          <a href="#" class="hanging-close" data-dismiss="modal" aria-hidden="true">
            <img src="https://lh5.ggpht.com/v4-628SilF0HtHuHdu5EzxD7WRqOrrTIDi_MhEG6_qkNtUK5Wg7KPkofp_VJoF7RS2LhxwEFCO1ICHZlc-o_=s0#w=24&h=24"/>
          </a>
          <div class="scale-media" id="trailer-video-container">
          </div>
        </div>
      </div>
    </div>
    
    <!-- Main Page Content -->
    <div class="container">
      <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
        <div class="container">
          <div class="navbar-header">
            <a class="navbar-brand" href="#">Fresh Tomatoes Movie Trailers</a>
          </div>
        </div>
      </div>
    </div>
    <div class="container">
      {movie_tiles}
    </div>
  </body>
</html>
'''

# A single movie entry html template
movie_tile_content = '''
<div class="col-md-6 col-lg-4 movie-tile text-center" data-trailer-youtube-id="{trailer_youtube_id}" data-toggle="modal" data-target="#trailer">
    <img src="{poster_image_url}" width="220" height="342">
    <h2>{movie_title}</h2>
</div>
'''

def create_movie_tiles_content(movies):
    # The HTML content for this section of the page
    content = ''
    for movie in movies:
        # Extract the youtube ID from the url
        youtube_id_match = re.search(r'(?<=v=)[^&#]+', movie.trailer_youtube_url)
        youtube_id_match = youtube_id_match or re.search(r'(?<=be/)[^&#]+', movie.trailer_youtube_url)
        trailer_youtube_id = youtube_id_match.group(0) if youtube_id_match else None

        # Append the tile for the movie with its content filled in
        content += movie_tile_content.format(
            movie_title=movie.title,
            poster_image_url=movie.poster_image_url,
            trailer_youtube_id=trailer_youtube_id
        )
    return content

def open_movies_page(movies):
  # Create or overwrite the output file
  output_file = open('fresh_tomatoes.html', 'w')

  # Replace the placeholder for the movie tiles with the actual dynamically generated content
  rendered_content = main_page_content.format(movie_tiles=create_movie_tiles_content(movies))

  # Output the file
  output_file.write(main_page_head + rendered_content)
  output_file.close()

  # open the output file in the browser
  url = os.path.abspath(output_file.name)
  webbrowser.open('file://' + url, new=2) # open in a new tab, if possible