インターネット上で公開されているスクリプトなのですが、実行しようとするとエラーが出てしまいます。どうすれば正しく実行することができるのか、分かる方教えていただけると助かります。よろしくお願いします。
 エラーメッセージはスクリプトの下に記載します。
 ニコニコ動画にログインし、マイページに新規マイリストを作成して、任意の動画をマイリストに登録するスクリプトです。

#!/usr/bin/env python
#coding: utf8
userid="ここにメールアドレスを入力"
passwd="ここにパスワードを入力"
import sys, re, cgi, urllib, urllib2, cookielib, xml.dom.minidom, time
import simplejson as json

def getToken():
html = urllib2.urlopen("http://www.nicovideo.jp/my/mylist").read()
for line in html.splitlines():
mo = re.match(r'^\s*NicoAPI\.token = "(?P<token>[\d\w-]+)";\s*',line)
if mo:
token = mo.group('token')
break
assert token
return token

def mylist_create(name):
cmdurl = "http://www.nicovideo.jp/api/mylistgroup/add"
q = {}
q['name'] = name.encode("utf8")
q['description'] = ""
q['public'] = 0
q['default_sort'] = 0
q['icon_id'] = 0
q['token'] = token
cmdurl += "?" + urllib.urlencode(q)
j = json.load( urllib2.urlopen(cmdurl), encoding='utf8')
return j['id']

def addvideo_tomylist(mid,smids):
for smid in smids:
cmdurl = "http://www.nicovideo.jp/api/mylist/add"
q = {}
q['group_id'] = mid
q['item_type'] = 0
q['item_id'] = smid
q['description'] = u""
q['token'] = token
cmdurl += "?" + urllib.urlencode(q)
j = json.load( urllib2.urlopen(cmdurl), encoding='utf8')
time.sleep(0.5)

#ログイン
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
urllib2.install_opener(opener)
urllib2.urlopen("https://secure.nicovideo.jp/secure/login",
urllib.urlencode( {"mail":userid, "password":passwd}) )
#トークン取得
token = getToken()
#マイリストの作成と動画の登録
mid = mylist_create(u"テストリスト")
addvideo_tomylist(mid, ["sm9","sm1097445", "sm1715919" ] )

<エラーメッセージ>
>>> #?^í?^°?^¤?^ó
... opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
>>> urllib2.install_opener(opener)
>>> urllib2.urlopen("https://secure.nicovideo.jp/secure/login",
... urllib.urlencode( {"mail":userid, "password":passwd}) )
<addinfourl at 4311877104 whose fp = <socket._fileobject object at 0x101007758>>
>>> #?^?^??^ü?^¯?^ó?^?^??^?
... token = getToken()
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<stdin>", line 8, in getToken
UnboundLocalError: local variable 'token' referenced before assignment
>>> #?^?^??^¤?^ê?^¹?^?^??^???^??^?^??^???^?^??^Ի?^???^ٻ?^̲
... mid = mylist_create(u"?^?^??^¹?^?^??^ê?^¹?^?^?")
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<stdin>", line 9, in mylist_create
NameError: global name 'token' is not defined
>>> addvideo_tomylist(mid, ["sm9","sm1097445", "sm1715919" ] )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'mid' is not defined
>>>

<環境>imac, mac os x, ターミナルを使用

このQ&Aを見た人が検索しているワード

このQ&Aに関連する最新のQ&A

A 回答 (1件)

http://oshiete.goo.ne.jp/qa/7004997.html

対話モードに直接貼り付けないで、スクリプトとして実行してください。

スクリプト全体を通して評価しなければならないものを個別に評価しているので
・スクリプト中、後に定義している変数を、関数内で使っている→関数定義の段階では変数が未定義なため、定義に失敗→定義してない(失敗した)関数を利用しようとしてエラー
となっています。


たしかに、スクリプト自身もあまりよくないですけど。
    • good
    • 0
この回答へのお礼

教えていただいたとおり実行したら、成功しました。
前の質問共々ご親切にお答えいただきありがとうございました!

お礼日時:2011/09/17 02:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QFile Commander のバグ? docomo の Androidスマホ SO-01H (by

File Commander のバグ?

docomo の Androidスマホ SO-01H (by SONY)で、ファイル管理アプリの File Commander 3.9.14746 (以降FCと称します)を使用しています。

上手く伝わるか疑問ですが、次のような“不具合”に遭遇しています。
カメラで撮影した画像ファイルは、SDカードのフォルダ /DCIM/100ANDRO/ 内に
DSC_0001.JPG
DSC_0002.JPG
DSC_0003.JPG
………….JPG
というファイル名で格納されます。
FCで当該フォルダを覗くと、ファイル名と共に該当する画像が小さく(アイコンように)表示されます。それらの画像を例えばA1、B1、C1、…とします。
FCに表示されているファイル名をクリックすると、アイコン画像と同じ画像が表示されます、当然のことながら。

次に上記のファイルを全て削除した後で、改めてカメラで別の被写体を撮影した画像ファイル名は
DSC_0001.JPG
DSC_0002.JPG
DSC_0003.JPG
………….JPG
として格納されます。それらの画像を例えばA2、B2、C2、…とします。
此処で新しく作成されたファイル名をクリックすると、あら不思議、今度はアイコン画像とは異なる(削除したはずの)画像A1、B1、C1、…が表示されるのです。
つまり、アイコン画像と中身が異なるのです。

この不具合を解消するにはどうしたら良いのでしょうか?

ちなみに、新たに作成されたファイル名をリネームして、例えば
DSC_0001ab.JPG
DSC_0002bc.JPG
DSC_0003de.JPG
…………….JPG
とすれば、アイコン画像と中身は同じになります。

File Commander のバグ?

docomo の Androidスマホ SO-01H (by SONY)で、ファイル管理アプリの File Commander 3.9.14746 (以降FCと称します)を使用しています。

上手く伝わるか疑問ですが、次のような“不具合”に遭遇しています。
カメラで撮影した画像ファイルは、SDカードのフォルダ /DCIM/100ANDRO/ 内に
DSC_0001.JPG
DSC_0002.JPG
DSC_0003.JPG
………….JPG
というファイル名で格納されます。
FCで当該フォルダを覗くと、ファイル名と共に該当する画像が小さく(アイコンように)表示されます。それらの画像...続きを読む

Aベストアンサー

ご想像の通りアプリのバグかと思いますので、
作者に連絡をして更新してもらうしかないですね、
ストアのレビュー欄に不具合報告として書けばそのまま作者に連絡が行きますので、
まずは報告して気長に直るのを待つ感じになると思います。

参考になれば

QMacBook Pro (13-inch, Mid 2010) A1287 のインストールディスク

MacBook Pro (13-inch, Mid 2010)A1287を譲り受けましたが、OSのインストールディスクが無い為購入しようと思います。
購入すOSは、Mac OS X 10.6 Snow Leopard
http://www.apple.com/jp/shop/product/MC573J/A/mac-os-x-10.6-snow-leopard?fnode=d3b6eb824bbe111022c1962219000a622fd066098b4fdeff703e5a9d45a218f569e2d3c8e871cf9c74ce94c04f1d4964faffd1a0f0b442c5403f91071e2ef0e73f473103c26c85bc701a42335106b710cbf38e8863e65a15cbae8d23a7f00103
これでよろしいでしょうか。

Aベストアンサー

私も2010年製のiMacを所有しています。
初期搭載OSXのバージョンは10.6.3SnowLeopardです。
(今は10.9.5までアップグレードしてますが。)
記載されているAppleStoreで購入できるディスクでOKかと思います。

すみません、絶対OKと記載しないのはMacは初期搭載OSXの
バージョン以前のOSはインストール出来ないということがあるからです。
2010年製は確実に10.6SnowLeopard搭載機しかないのですが、
初期搭載OSXはバージョンは10.6.3だったと思います。

Appleで販売している10.6ディスクのバージョンが、
明確にはわからないからなのですが、
ただ、おそらく10.6.6のバージョンだと推測するので、
初期搭載OSXのバージョンが10.6.3でしたら
大丈夫だと思うということです。

Macは初期搭載OSXの10.Y.Xの部分のYの数字の部分も前のバージョンを
インストール出来ませんが、(アップグレードに当たります。)
Xの部分の数字であっても、初期搭載OSXのバージョンが、
それ以前のバージョンはインストール出来ないのです。

ややこしい説明ですが、仮に10.6.6初期搭載OSXだった場合、
AppleStoreのSnowLeopardが10.6.3だった場合、
OSXのディスクはインストール出来ないということです。
今回はおそらく逆なのでできると思います。

私も2010年製のiMacを所有しています。
初期搭載OSXのバージョンは10.6.3SnowLeopardです。
(今は10.9.5までアップグレードしてますが。)
記載されているAppleStoreで購入できるディスクでOKかと思います。

すみません、絶対OKと記載しないのはMacは初期搭載OSXの
バージョン以前のOSはインストール出来ないということがあるからです。
2010年製は確実に10.6SnowLeopard搭載機しかないのですが、
初期搭載OSXはバージョンは10.6.3だったと思います。

Appleで販売している10.6ディスクのバージョンが、
明確に...続きを読む

QSystem Commander と Partition Magic

私はSystemCommanderを使って、複数OSの起動、パーティション操作を行っています。でも今まで起動ドライブのクラッシュなど、何度もひどい目に会いました。(もちろん私の操作が悪いのでしょうけど。) よく似たことができるPartitionMagicもいいよと聞きました。これはマルチブートとパーティション操作が別プログラムなんですね。

 どちらが、トラブルが少なく、扱いやすいでしょう?
SystemCommanderはwindowsもどきの操作画面ですが、まあ問題ないと思っています。価格は考えません。両方使った経験のある方、よろしければご教授ください。

Aベストアンサー

>私はSystemCommanderを使って、複数OSの起 動、・・・

 システムコマンダーをその都度起動させて面倒ではありませんか? どのようなOSをマルチにしているかわかりませんが
わたしはシステムコマンダーを利用していますが通常は削除してしまいます。
 必要なときはリスタートFDを利用します。さらにOSの選択(わたしの場合WIN98とWINXP)はWIN98はドスコマンドからFDISKでXPを選択して再起動。
 XP上ではディスク管理でWIN98を選択して再起動。というやり方をしています。 
 このやり方で問題は発生していません。
 どちらんがいいかは判りません。好みではないでしょうか。

Qデジタルビデオの,,,,

映像を、iBOOK(OS X)に取り込みたいのですが、
友人に借りたDVにはUSBがなく、どうやって取り込めば良いか
分かりません。
カメラはPANASONICなんですが、なにか専用のコードなど
必要でしょうか??

初心者ですみませんが、知っている方いたら是非教えて下さい。

Aベストアンサー

参考URLのような専用ケーブルを使うといいですね。
Macintosh用のソフトも付属しています。

またカメラにFireWire端子がついていなかったら

http://www.pixela.co.jp/products/mpeg/pix_mptv_u1m/index.html

のような物で取り込んでやってください。

参考URL:http://www.pixela.co.jp/products/mpeg/pix_dvmp_u1h/index.html

QSeagate Barracuda でSystem Commander2000がBootできない

System Commander2000でのWindowsXPと2000のマルチブート環境をGHOST7.5でディスクイメージを作成し、
上記「Seagate Barracuda 」
へコピーすると、起動時に真っ黒い画面で
とまってしまい、起動できません。

ちなみに、System Commander2000でWindows98+MEのマスターだと起動します。

一応、裏技はみつけました。
一度、98+MEのマスターをコピーし、
System Commanderを起動させてから、
XP+2000のマスターをコピーする
これは稼動します。

しかし、100台ほどやらねばならないので、一度にできる方法がないか探っています。原因はよくわからないのですが、他のメーカーのものでやるとうまくいきます(富士通のMPG3204など、、?)

どなたかこの現象について問題点の適切な切り分け
方法など何でもよいので教えてください。

Aベストアンサー

見当違いになるかもですが、ジャンパピンの設定です

Seagate Barracuda は、ケーブルセレクトになっていますから、これをマスターにしてみてください

Q買うべきMacは?iMac,MacBook,,,

今、留学中で、フォトショップ、イラストレーター等を勉強中です。(今は独学、日本で2年後ぐらいから専門でGデザインを学ぶ予定)

今、VAIOの小さなノートを持っているんですが、動きがぜんぜん遅いんで、この際マックを買おうと思っています。

そこで、まず悩むのが、iMacかMacBookの選択です。
(iMacの場合、G5. MacBookの場合intel core(2)duo.)
コストパフォーマンスではiMacですが、持ち運び面で日本へ持ち帰ったりすることを考えるとMacBook...
この場合、値段をきにしなければ、MacBookのほうがいいでしょうか?
iMacの場合、最悪もって帰れないときは売ってしまおうと思っています。
スクリーンはMacBookの場合13”なので、外付けを買おうと思っています。
心配なのが、今もノートを使っていますが、ノートでフォトショップなどが快適に動いてくれるかです。やっぱりiMacとMacBookでは差は大きいですか?

オークションで調べると、Apple Mac Macbook Intel Core 2 Duo 2ghz/2g/120Gぐらいのが14万円ぐらいで売ってましたが買いでしょうか?

いろんな情報があってほんとに混乱しています。
初心者ですがよろしくおねがいします。

今、留学中で、フォトショップ、イラストレーター等を勉強中です。(今は独学、日本で2年後ぐらいから専門でGデザインを学ぶ予定)

今、VAIOの小さなノートを持っているんですが、動きがぜんぜん遅いんで、この際マックを買おうと思っています。

そこで、まず悩むのが、iMacかMacBookの選択です。
(iMacの場合、G5. MacBookの場合intel core(2)duo.)
コストパフォーマンスではiMacですが、持ち運び面で日本へ持ち帰ったりすることを考えるとMacBook...
この場合、値段をきにしなければ、MacBookのほう...続きを読む

Aベストアンサー

まず
現在Vaioをご使用中と言う事ですが
Macを買うとなると
PhotoshopもillustratorもMac版を
新規購入しなければなりませんが
その点も考慮されていますか?

学生さんならアカデミック版が利用できるので
安く購入できますけど、それでも結構な金額になります。


今からその2つを買うならMacの方もIntel Macにすべきでしょう。
基本的に新規購入できるのはCS3ですから。
熱処理だけしっかり対策すれば
Macのノートは基本的に
デスクトップと性能は大きく変わらないです。
数値通りですので気にしなくて良いです。
(持ち運びを考えなければiMacのIntelの方が良いですけどね)
メモリは最大に積む事をお奨めします。

オークションで購入は止めておいた方がいいでしょう。
ショップ保証などが受けられませんし
(可能ならAppleCare Protection Planに入る方が良いです)
学割も効きませんから。
また新規購入で最安値モデルで139800円ですが
学割を利用する手もありますから。
http://store.apple.com/0120-APPLE-1/WebObjects/japanstore?family=MacBook

まず
現在Vaioをご使用中と言う事ですが
Macを買うとなると
PhotoshopもillustratorもMac版を
新規購入しなければなりませんが
その点も考慮されていますか?

学生さんならアカデミック版が利用できるので
安く購入できますけど、それでも結構な金額になります。


今からその2つを買うならMacの方もIntel Macにすべきでしょう。
基本的に新規購入できるのはCS3ですから。
熱処理だけしっかり対策すれば
Macのノートは基本的に
デスクトップと性能は大きく変わらないです。
数値通りですので...続きを読む

QSystem Commander 9 を使います

System Commander 9 を使っています。同じNotePCで、四つのOSをインストールこともできます。System Commander 9の機能で、立ち上がっているOSから、他のPartitionを見えないような設定もできます
会社のPCで、仕事中OS1を使って、しかも会社のモニタリングソフトLanScope Cat MRもインストールされています(必須)。そして、仕事が上がったら自宅にPCを持ち帰り、OS2を使って、自分の興味のためなどで使います(高性能なPCなので)。そこで、その翌日、オフィスでOS1を使います。LanScope Cat MRが、OS2の中の痕跡が覗けますか?(System Commander 9で、立ち上がっているOSから、他のPartitionを見えないように設定の場合)
更に、一般論だと、どうなりますか?
(単純な技術な質問に限ります。これ以外は聞いていません。)

Aベストアンサー

パーティションを見えないようにするということは非表示の設定になっています。
普通に考えて覗くのは無理でしょうね。

Qsafariが’予期せぬ理由で終了’します

OS X(Tiger)+Windows XP をパラレルデスクトップで入れて使っています。
たまにsafariでインターネットを見ようとすると
’予期せぬ理由でsafariを終了します’とエラーメッセージが出ます。
windowsの方ではエラーはでません。
どうしたらいいのでしょうか?

Aベストアンサー

Appleのサポートページに情報が載っているので、それを確認して下さい。

Safari: Safari が予期せず終了する
http://docs.info.apple.com/article.html?artnum=107657-ja
Web ブラウザが予期せず終了する、または応答しなくなる
http://docs.info.apple.com/jarticle.html?artnum=106874

参考URL:http://docs.info.apple.com/article.html?artnum=107657-ja

Q【ruby】特異クラスを使って,File.statをカスタムしたい

File.statに、nameというメソッドを追加したいです。

st=File.stat('hoge.txt')
puts st.name #=> hoge.txt

上記のように使いたいのです。

そこで、以下の様に書いてみました。(行頭のスペースは全角です)

class File
 class << self
  def stat(file)
   st=File::Stat.new(file)
   class << st
    def name
     @file
    end
   end
   st
  end
end
end

st=File.stat('./hoge.txt')
puts st.name #=> nil

上記実行結果はnilが出力され、期待した結果は得られませんでした。

上記の様に書いた理由を以下に記します。

クラスメソッドstatは、file.rbのclass Fileの中に定義されていて、
stat.rbのFile::Stat.new(file)を戻り値としていました。

stat.rbのclass File::Statのinitializeでは、

def initialize(file)
 @file = file
 (略)
end

となっていたので、上記の様に書いてみたのですが、何が悪いのでしょうか?

ご指導のほど、宜しくお願いいたします。

File.statに、nameというメソッドを追加したいです。

st=File.stat('hoge.txt')
puts st.name #=> hoge.txt

上記のように使いたいのです。

そこで、以下の様に書いてみました。(行頭のスペースは全角です)

class File
 class << self
  def stat(file)
   st=File::Stat.new(file)
   class << st
    def name
     @file
    end
   end
   st
  end
end
end

st=File.stat('./hoge.txt')
puts st.name #=> nil

上記実行結果はnilが出力され...続きを読む

Aベストアンサー

file.rbとかstat.rbとか、何のことかわからなかったですが、どうやらおそらく、rubygemsのwin32-file-statの話ですね。

require "win32/file"
class File::Stat
def name
@file
end
end

でいいと思います。やってみましたが、ファイル名はUTF-16で格納されていますね。

QMacOSX(10.3)で/etc/master.passwd:Not a directoryと出て起動しません。

ハードが2個付いており、一個は9.2.2、もう一個は10.3です。
起動ディスクを10.3にした所、画面が真っ暗になって

/etc/master.passwd:Not a directory
/etc/master.passwd:Not a directory
-sh:/etc/profile:Not a directory
-sh-2.05b#

とでます。
自分なりに調べてこちらのサイトを見つけたのですが
http://www.ohtonari.com/confbbs/gb2820.htm

PRAMがダメだったので、DVDで起動させてリセットパスワードを
試そうとしたのですが、OSXのHDDが選択項目として出てきませんでした。

OS9.2.2のHDDで起動させて、OS10.3のHDDをのぞくと中身は普通に見れますが
起動ディスクとして選べなくなってしまいました。
どなたか助言をお願い致します。

Aベストアンサー

Mac OS X: Mac OS 9 から起動して「etc」や「var」ディレクトリのエイリアスを削除したときの問題
http://docs.info.apple.com/jarticle.html?artnum=106908

これでしょう。
このページには、シングルユーザモードで起動して対処する方法が説明されていますが、システムインストールディスクから起動して、ハードディスクにシステムが見つからないということなので、シングルユーザモードで起動することも期待できません。すなおに、システムを上書きインストールするのがよろしいかと。


このカテゴリの人気Q&Aランキング

おすすめ情報