質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

995閲覧

pythonでchromeのブックマークからショートカットを作成したい

Akira_0809

総合スコア14

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/10/26 18:59

前提

pythonでchromeのブックマークが記載されているjsonフォルダーを読み取るところまではできましたが、ショートカットにすることができません。

実現したいこと

chromeのブックマークからショートカットを作りたい

発生している問題・エラーメッセージ

PS C:\Users\akira_nzdqq9k\Desktop\Python> & C:/Users/akira_nzdqq9k/AppData/Local/Microsoft/WindowsApps/python3.10.exe c:/Users/akira_nzdqq9k/Desktop/Python/bookmark.py Traceback (most recent call last): File "c:\Users\akira_nzdqq9k\Desktop\Python\bookmark.py", line 32, in <module> short.Save() File "C:\Users\akira_nzdqq9k\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\comtypes\client\lazybind.py", line 182, in caller return self._comobj._invoke(descr.memid, descr.invkind, 0, *args) File "C:\Users\akira_nzdqq9k\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\comtypes\automation.py", line 745, in _invoke self.__com_Invoke(memid, riid_null, lcid, invkind, _ctypes.COMError: (-2147352567, '例外が発生しました。', (None, None, None, 0, None))

該当のソースコード

python

1import json 2import getpass 3import comtypes.client 4 5CHROME_BOOKMARK_PATH = ("C:/Users/akira_nzdqq9k/AppData/Local/Google/Chrome/User Data/Default/Bookmarks").format(username=getpass.getuser()) 6 7def get_chrome_bookmark_data() -> dict: 8 '''Get the json of user's Chrome bookmark.''' 9 with open(CHROME_BOOKMARK_PATH, encoding="utf-8") as f: 10 return json.load(f) 11 12# JSON 内のデータを取得する 13bookmark_data = get_chrome_bookmark_data() 14 15bookmark_name = [] 16bookmark_url = [] 17bookmark_name_no = {"AI Programmer", "乗り換え案内・時刻表 - 駅探", "寿司打","iCloud","無料テトリスのPCブラウザゲーム Tetris HTML5 | 無料ゲームnet","2048","teratail【テラテイル】|ITエンジニア特化型Q&Aサイト" 18,"Personal apps | Heroku","KRUNKER.IO - Krunker.io を無料で楽しむ で Poki","Play ev.io - the blockchain FPS of the future","お気に入り登録中のマンガ (マイページ) - ニコニコ漫画","CSS Diner - Where we feast on CSS Selectors!", 19"CSSBattle - the CSS code-golfing game!","Hello, animation! — Animations — HTML Academy"} 20 21bookmark_bar = bookmark_data['roots']['bookmark_bar'] 22for j in bookmark_bar["children"]: 23 if j["type"] == "url": 24 if not ("{name}".format(**j)) in bookmark_name_no: 25 bookmark_name.append(("{name}".format(**j))) 26 bookmark_url.append("{url}".format(**j)) 27 28for (name, url) in zip(bookmark_name, bookmark_url): 29 wsh=comtypes.client.CreateObject("wScript.Shell",dynamic=True) 30 short=wsh.CreateShortcut("C:/Users/akira_nzdqq9k/Desktop/新しいフォルダー/{}.url".format(name)) 31 short.TargetPath=url 32 short.Save()

試したこと

この状態では動きます

python

1import comtypes.client 2 3bookmark_name = ["Akira", "qwerty"] 4bookmark_url = ["https://www.javadrive.jp/python/file/index3.html", "https://stackoverflow.com/questions/36064723/pywintypes-com-error-2147352567-exception-occurred-0-none-none-none"] 5 6print(bookmark_name) 7print(bookmark_url) 8 9for (name, url) in zip(bookmark_name, bookmark_url): 10 wsh=comtypes.client.CreateObject("wScript.Shell",dynamic=True) 11 short=wsh.CreateShortcut("C:/Users/akira_nzdqq9k/Desktop/新しいフォルダー/{}.url".format(name)) 12 short.TargetPath=url 13 short.Save()

補足情報(FW/ツールのバージョンなど)

実行環境はvscode

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ショートカットを作る際に名前がショートカットにつけられる記号や長さを超えていてエラーが出ていたみたいです。

投稿2022/10/31 07:51

Akira_0809

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問