1

このプログラムは、ユーザー入力を受け取り、それを html に変換してクリップボードに渡すことになっています。

welcome_msg() でプログラムを開始します

メイン メニューで 1 を入力すると、アンカー タグの作成に進みます。リンク テキスト、URL、タイトルの順に追加します。タイトルを入力すると、次のエラーが表示されます。

File "<pyshell#23>", line 1, in <module>
  welcome_msg()
File "C:\Python26\html_hax.py", line 24, in welcome_msg
  anchor()
File "C:\Python26\html_hax.py", line 71, in anchor
  copy_to_clipboard(anchor_output)
File "C:\Python26\html_hax.py", line 45, in copy_to_clipboard
  wc.SetClipboardData(win32con.CF_TEXT, msg)
error: (0, 'SetClipboardData', 'No error message is available')

コードは次のとおりです: http://pastie.org/398163

上記のエラーの原因は何ですか?

4

1 に答える 1

3

make_link関数では を構築しますlink_outputが、実際には関数の結果としてそれを返しません。これを行うために使用returnします:

def make_link(in_link):
  ...
  if title == '':
    link_output = ...
  else:
    link_output = ...
  return link_output

anchor_outputこのようにして、ここで変数に渡される値を取得します。

anchor_output = make_link(anchor_text)

これはNone、関数が値を返さず、クリップボードの設定にNone失敗したためです。実際の文字列を返す関数を使用すると、期待どおりに機能するはずです。

于 2009-02-24T04:21:41.983 に答える