2016-02-03 26 views
-3
#!/usr/bin/env python3 

    # Script to convert HTML files provided by The Online Plain Text English 
    # Dictionary (http://www.mso.anu.edu.au/~ralph/OPTED/) into SQLite   database 

    import sys 
    import sqlite3 
    from argparse import ArgumentParser, FileType 
    from bs4 import BeautifulSoup 

    def parse_args(): 
    parser = ArgumentParser("Create database from HTML dictionary pages") 
    parser.add_argument("files", metavar="file", nargs="+", type=FileType("rb")) 
    parser.add_argument("--out", "-o", required=True) 
    return parser.parse_args() 

    def create_tables(conn): 
    conn.execute("DROP TABLE IF EXISTS words") 
    conn.execute("CREATE TABLE words (id integer primary key, word text,    description text)") 
conn.commit() 

def words(handle): 
doc = BeautifulSoup(handle) 
for p in doc.find_all("p"): 
    if len(p.contents) == 4: 
     word = p.contents[0].string.lower() 
     definition = p.contents[3].lstrip(") ").replace("\n", " ") 
     yield word, definition 

def insert_words(conn, iter): 
    conn.executemany("INSERT INTO words VALUES (NULL, ?, ?)", iter) 

def main(): 
args = parse_args() 
db = sqlite3.connect(args.out) 
create_tables(db) 
for handle in args.files: 
    print("Processing \"{}\"".format(handle.name), file=sys.stderr) 
    insert_words(db, words(handle)) 
    db.commit() 
db.close() 

if __name__ == "__main__": 
main() 

我試圖蟒蛇my_script.py如何運行Python腳本製作文件

但它顯示了這一點:

用法:從HTML網頁詞典[-h] --out OUT 創建數據庫文件[文件...] 從HTML字典頁面創建數據庫:錯誤:以下參數是r equired:file,--out/-o

我不使用python。我只是想運行這個腳本,並抱歉對我這個新的代碼的糟糕表現。

+1

這不是一個真正的Python問題,請參閱http://www.davidbaumgold.com/tutorials/command-line/ – jonrsharpe

+0

你能否請我回答它我很着急(現在在印度1:30)@jonrsharpe –

+1

你似乎已經把你的期限與其他人們的問題。 – jonrsharpe

回答

0

您必須指定輸出文件以使用-o選項。例如,python script.py -o MYOUTFILE