๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Tried. Failed. Logged.
728x90

๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป๊ฐœ๋ฐœ/ํŒŒ์ด์ฌ35

ํŒŒ์ด์ฌ - ๐Ÿš€ requests ์†๋„ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ• (Session) ์„ธ์…˜(Session) ์‚ฌ์šฉํ•˜๊ธฐ๋งค ์š”์ฒญ๋งˆ๋‹ค ์ƒˆ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค๋ฉด ๋А๋ฆฝ๋‹ˆ๋‹ค. requests.Session()์„ ์“ฐ๋ฉด ์ปค๋„ฅ์…˜ ํ’€๋ง์œผ๋กœ ํ›จ์”ฌ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.import requestssession = requests.Session()for url in urls: r = session.get(url) ์„ฑ๋Šฅ ์ฐจ์ด ๊ฝค ๋‚˜์š”. ๊ผญ ์„ธ์…˜ ์“ฐ๊ธฐ! ์ขŒ: requests๋งŒ ์“ฐ๊ธฐ / ์šฐ: session ์“ฐ๊ธฐ 2025. 4. 10.
ํŒŒ์ด์ฌ - ์ธํ„ฐํ”„๋ฆฌํ„ฐ์—์„œ ์ปดํŒŒ์ผ๋กœ ์†๋„ ์„ฑ๋Šฅ ํ–ฅ์ƒ(Nuitka) ์„ค๋ช…: Nuitka๋Š” Python ์ฝ”๋“œ๋ฅผ C/C++ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” Python ์ปดํŒŒ์ผ๋Ÿฌ์ž…๋‹ˆ๋‹ค. Python ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฐฉ์‹์˜ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•˜๊ณ , ์‹คํ–‰ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋ฉฐ, ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ๋˜ํ•œ, Python ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ํŒจํ‚ค์ง•ํ•  ์ˆ˜ ์žˆ์–ด ์†Œ์Šค ์ฝ”๋“œ ๋ณดํ˜ธ ๋ฐ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  ํŒŒ์ด์ฌ์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋‹ค ๋ณด๋‹ˆ ๋‹ค๋ฅธ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋“ค์— ๋น„ํ•ด ์†๋„๋ฉด์—์„œ๋Š” ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์†๋„๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ์ฒ˜๋ฆฌ๋Ÿ‰๋„ ๋’ค๋–จ์–ด์ง€๊ณ  ๊ฒฐ๊ตญ ์„ฑ๋Šฅ์ด ๋’ค์ณ์ง€๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Nuitka๋ฅผ ์‚ฌ์šฉํ•ด ํŒŒ์ด์ฌ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜์—ฌ ์‹คํ–‰ ์†๋„๋ฅผ ํ–ฅ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋Œ€์‹  ์ปดํŒŒ์ผ ํ•˜๋Š”๋ฐ ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ์†Œ์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.  ๋˜ํ•œ .. 2025. 4. 10.
ํŒŒ์ด์ฌ - pip "error: externally-managed-environment" ๋ฌธ์ œ ํ•ด๊ฒฐ sudo rm /usr/lib/python3.11/EXTERNALLY-MANAGED ์ถœ์ฒ˜: https://velog.io/@dongju101/error-externally-managed-environment-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0 error: externally-managed-environment ๋ฌธ์ œ ํ•ด๊ฒฐ๋‹ค์Œ ๋ช…๋ น์–ด ์ž…๋ ฅ์‹œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅvelog.io 2024. 8. 10.
ํŒŒ์ด์ฌ - url๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ(urllib.request) import urllib.request urllib.request.urlretrieve(img_url, f'./cache/images/' + str(idx) + '.png') 2023. 8. 25.
ํŒŒ์ด์ฌ - ํ…”๋ ˆ๊ทธ๋žจ API ์‚ฌ์šฉ์ž ์•„์ด๋”” ๋ฐ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ https://api.telegram.org/bot{bot_api_key}/getUpdates {"ok":true,"result":[{"update_id":000000000, "message":{"message_id":00,"from":{ "id":0000000000, "is_bot":false, "first_name":"ABC", "username":"ABC", "language_code":"ko"},.. 2023. 8. 1.
ํŒŒ์ด์ฌ - ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์‹คํ–‰ ๋„์ค‘ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๊ธฐ import code def interactive_function(): # ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์ค‘๊ฐ„์— ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ชจ๋“œ๋กœ ์ „ํ™˜ console = code.InteractiveConsole(locals=globals()) console.interact("์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.") print("์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์ค‘...") # ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ๋กœ์ง # ์ค‘๊ฐ„์— ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ชจ๋“œ๋กœ ์ „ํ™˜ interactive_function() 2023. 7. 29.
ํŒŒ์ด์ฌ - ๋กœ๋”ฉ๋ฐ”(Progress Bar) ๊ตฌํ˜„ ๋ชจ๋“ˆ(tqdm) ๋ชจ๋“ˆ ์„ค์น˜ pip install tqdm ์‚ฌ์šฉ ์˜ˆ์‹œ from time import sleep from tqdm import tqdm for i in tqdm(range(10)): sleep(1) ์ถœ์ฒ˜: https://stackoverflow.com/questions/3160699/python-progress-bar Python Progress Bar How do I use a progress bar when my script is doing some task that is likely to take time? For example, a function which takes some time to complete and returns True when done. How can I display a stac.. 2023. 7. 17.
ํŒŒ์ด์ฌ - PyAutoGUI๊ฐ€ ์•ˆ๋  ๊ฒฝ์šฐ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(PyDirectInput) ๊ธฐ๋ณธ PyAutoGUI๋Š” ๊ฐ€์ƒ ํ‚ค(VK)์™€ mouse_event() ๋ฐ keybd_event() win32 ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๋Š” ์ผ๋ถ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค, ๋น„๋””์˜ค ๊ฒŒ์ž„์ด๋‚˜ DirectX์— ์ง€์›ํ•˜์ง€ ์•Š์•„ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ PyDirectInput ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” DirectInput ์Šค์บ” ์ฝ”๋“œ์™€ SendInput() win32 ๊ฐ™์€ ์ตœ์‹  ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. PyPi - PyDirectInput https://pypi.org/project/PyDirectInput/ PyDirectInput Python mouse and keyboard input automation for Windows using Direct Input. pypi.org ์ฝ”๋“œ ์˜ˆ์ œ >>> impo.. 2023. 7. 15.
ํŒŒ์ด์ฌ - ๋ฆฌ๋ˆ…์Šค์—์„œ GPT ๋ช…๋ น์–ด ์‚ฌ์šฉํ•˜๊ธฐ ๋ชจ๋“ˆ ์„ค์น˜ pip install openai ~/dev/gpt.py import openai import sys openai.api_key = "์ž์‹ ์˜ API ํ† ํฐ์„ ์—ฌ๊ธฐ์— ์ž…๋ ฅ" messages = [ {"role": "system", "content": "You are a helpful assistant."}, ] def request(text:str): global messages if len(messages) >= 30: messages = messages[-10:] query = text messages.append({"role": "user", "content": query}) response = openai.ChatCompletion.create( model="gpt-3.5-turbo", m.. 2023. 5. 22.
ํŒŒ์ด์ฌ - ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์กฐ์ž‘(winreg) import winreg # ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค ์ƒ์„ฑ key_path = r"Software\MyExampleKey" try: key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, key_path) print("ํ‚ค ์ƒ์„ฑ ์„ฑ๊ณต") except: print("ํ‚ค ์ƒ์„ฑ ์‹คํŒจ") # ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค์— ๊ฐ’ ์„ค์ • value_name = "ExampleValue" value_data = "Hello, Registry!" try: winreg.SetValueEx(key, value_name, 0, winreg.REG_SZ, value_data) winreg.CloseKey(key) print("๊ฐ’ ์„ค์ • ์„ฑ๊ณต") except: print("๊ฐ’ ์„ค์ • ์‹คํŒจ") # ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค์—์„œ ๊ฐ’ ์ฝ๊ธฐ try.. 2023. 5. 5.
ํŒŒ์ด์ฌ - pyinstaller ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ ํ•˜๊ธฐ --uac-admin ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋นŒ๋“œ๋ฅผ ํ•˜๋ฉด ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์˜ˆ์‹œ pyinstaller -w --uac-admin test.py ์ถœ์ฒ˜: https://dev-dream.tistory.com/4 pyinstaller ๋กœ exe ๋งŒ๋“ค ๋•Œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ python ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ฉด exe (์‹คํ–‰ํŒŒ์ผ) ํ˜•ํƒœ๋กœ ๋ฐฐํฌํ•  ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. py2exe ๋ฅผ ์ฃผ๋กœ ์ผ๋Š”๋ฐ setup ํŒŒ์ผ ๋งŒ๋“œ๋Š”๊ฒŒ ๋ถˆํŽธํ–ˆ๋Š”๋ฐ pyinstaller ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. pip3 install pyinstaller ๋กœ pyins dev-dream.tistory.com 2023. 5. 5.
ํŒŒ์ด์ฌ - ๋งฅ ์ฃผ์†Œ ๋ณ€๊ฒฝ(changeMAC) changeMAC.py (๊ด€๋ฆฌ์ž ๊ถŒํ•œ ํ•„์š”) from winreg import * import os, time def run(adapterName, adapterType="Wi-Fi"): aReg = ConnectRegistry(None, HKEY_LOCAL_MACHINE) aKey = OpenKey(aReg, r"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}") oKey = None sValue = None for i in range(255): try: aValue_name = EnumKey(aKey, i) oKey = OpenKey(aKey, aValue_name) sValue = QueryValueEx(oK.. 2023. 5. 2.
728x90