Python関連のことを調べてみた

Python関連のことを調べてみた

Mayaで ファイルを開かずにreferenceしてるファイルを知りたい

いちいち mayaのファイルを開いてrefereceされてるファイルのパスとかを確認するのがとても面倒なので、なんとかしたいんです。

とりあえずmaファイルを観察

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1484234/bff4a184-3afd-b8c0-7254-12f64c42de10.png)

ははーん
1行ずつ確認していけば行けそうな気もするな。

1行ずつ評価していって、
– **file で始まり**
– **;で終わる**

行を抜き出す

その後、
**スペースでsplitして、一番最後のindexがリファレンスしてるデータのパス**
と、おもいましたが
ファイルパスにスペースが入ることがあると駄目かもしんない。
となると、ちょっと無理やりですが
**スペース + ” でsplitして、一番最後のindexがリファレンスしてるデータのパス**
なら行けそうなきもします。

雑実装

“`python
def getReferenceFilePa

元記事を表示

Python で PDF に画像の透かしを追加する

## はじめに
前回の記事では、Pythonを使用してPDFにテキスト透かしを追加する方法を紹介しました。実際、画像に透かしを追加することも非常に実用的です。例えば、会社や製品のロゴを文書に追加してブランド効果を高め、他人が勝手に流用するのを防ぎます。または、ドキュメントに画像を挿入して、ドキュメントの有用性やステータスを示すこともできます。テキストの透かしと同様に、画像の透かしを追加する場合、単一の画像透かしまたは重複した透かしを追加することもできます。以下では、Pythonプラットフォームを例として、PDFに画像透かしを追加する方法を紹介します。
## ツール
* Python 3.12.0
* [Spire.PDF for Python](https://www.e-iceblue.com/Introduce/pdf-for-python.html)ライブラリ

このライブラリは購入する必要がありますが、[30 日間の無料試用版](https://www.e-iceblue.com/TemLicense.html)も提供されています。
もっと多いサンプルコードについて、[Spir

元記事を表示

LangchainにExcelファイルを読み込んでもらう

## 概要
Langchainって最近聞くけどいったい何ですか?って人はかなり多いと思います。

> LangChain is a framework for developing applications powered by language models.

つまり、「GPTみたいなLLM(大規模言語モデル)を使ってアプリケーションを開発をしたい!」ってときに手助けをしてくれるものなんですね。しかも、ただ単にLLMに接続できる、というわけではなくGPTに知識を追加で与えたりなどいろんな機能拡張をすることが出来てしまいます。

> Model I/O
> Interface with language models
>
> Retrieval
> Interface with application-specific data
>
> Agents
> Let chains choose which tools to use given high-level directives
>
> Chains
> Common, building block compositions
>

元記事を表示

【Gemini API】Python Quickstart 日本語版

## はじめに

このコードは、GoogleのGemini APIを使用したPythonクイックスタートガイドです。Gemini APIは、Googleの大規模言語モデルにアクセスするためのPython SDKを提供します。このガイドでは、APIのセットアップから、テキストや画像を含むマルチモーダル入力を使ってテキスト応答を生成する方法まで、一連のステップを通じて詳細に説明されています。以下にその解説を行います。

下記の記事もおすすめ

https://hamaruki.com/building-a-chatbot-geminowl-that-combines-gemini-api-and-line-bot-api/

https://hamaruki.com/yi-6b-chat-on-google-colab/

## インポートとパッケージの準備

“`python

import pathlib
import textwrap

import google.generativeai as genai
from google.colab import userdat

元記事を表示

(英:thin wall structure)第10章 薄肉圧力容器 基本例題10.03 p336「材料力学演習(20221021)」をsympyでやってみたい。

# オリジナル
[基本例題10.03 p336](http://zairikiweb.starfree.jp/zai_enshuh/zai_enshuh_ver.3.3.pdf#page=341)<[「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy](https://qiita.com/mrrclb48z/items/c3274daf5f7a99cfe027#%E4%BD%9C%E6%A5%AD%E4%B8%AD%E7%A7%81%E3%81%AE%E8%A7%A3%E7%AD%94sympy)
        ???タブレット等で、pdfを開く事ができないかも。??? 
[←基本例題10.02 p335](https://qiita.com/mrrclb48z/items/3720e92f6cab2cdf77ae)

# sympyで
“`python
from sympy import *

var(‘σa,σt’ ,real=True)
var(‘Q,H’ ,real=True)
var(‘D,t,p,g’,real=True)
g

元記事を表示

Poetryをインストールする

# 概要
以下のpoetryの日本語バージョンのドキュメントの方法でpoetryをインストールしようとすると404エラーが帰ってくる。
https://cocoatomo.github.io/poetry-ja/

# 解決
以下の公式ドキュメントの方法でダウンロードする。

### Linux, macOS, Windows (WSL)
“`bash
curl -sSL https://install.python-poetry.org | python3 –
“`
注意: システムによっては、python が Python 3 ではなく Python 2 を指している場合があります。曖昧さを避けるため、常にpython3のバイナリを推奨します。

### Windows (Powershell)
“`bash
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py –
“`
Microsoft Storeを通じてPythonをインストールした場合は、上記

元記事を表示

卒業研究

![スクリーンショット 2023-12-15 105817.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3549857/9915a91d-6c8f-49c1-f1ac-e190239509e8.png)
初めまして!

私たちは卒業研究の一環としてWebアプリケーションを「Oshi More!」を開発しました。

このアプリケーションは、複数の外部アプリケーションを使用することなく、
推し活に関する全ての情報を一元的に管理することで利用者の推し活をより効率的にすることを目的としています。

開発言語はPythonを使い、flaskで開発しました。また、herokuにデプロイして公開しています。

このアプリケーションの公開により、ファン同士の交流を促していき、
利用者の推し活体験をより豊かにしていくことを目指しています!

皆さんのご意見やフィードバックをお待ちしております。ぜひ一度ご覧いただき、お楽しみください!

よろしくお願いいたします。

Oshi More!は以下のURLからアクセスできます

元記事を表示

OpenAI API + LangChain + DataStax AstraDB + LangSmith + Streamlit サンプルアプリケーション紹介

## この記事について

DataStax社が公開している生成AI活用アプリケーションを紹介します。

## サンプルアプリUI

### OpenAI API利用

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176567/d609ba87-5ee8-6432-f690-2eefb34cb705.png)

OpenAIのAPIを使って、ユーザーの問い合わせに答えることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176567/ce13ef62-455d-0a18-858a-744ab2e6ede4.png)

### RAG (Retrieval Augumented Generation)
それだけでは、あまり意味がありませんが、このアプリは、自分の持っているファイルの情報をOpenAIに使わせて、問い合わせを行うことができます。

いわゆるRAG (Retriev

元記事を表示

再帰におけるツリーとpython programの対応

## はじめに
 再帰プログラムを書いているうちに混乱したので、再帰の仕組み(ツリーとpythonでの実現方法の関係)を調べました。ツリー自体は、いまでもOSのディレクトリとかとにかくよく見ます。再帰は想像ですが先生とかが好きで宿題とかにだされる?とりあえずざっと眺めた限り書いている人がいなさそうだったので公開します。(いるという突っ込みはなしで)
## 再帰関数の構造と概念図
 以下は、[拙作「スケルトンパズル解いてみました」](https://qiita.com/piyo999/items/cf965407635cb111caa1) のsolve関数だけを抜き出したものです。
 リストのワードが11個、ワードを入れる連続マスが11個の例題なので、場合の通りは、 最大$11^{11}$ ですがpossible関数を作成して、いろいろ制約条件を付け、再帰処理すれば大幅に場合の数が減ります。
 階層(レベル)0のルートから始まり、レベル1~12のノードを如何に探索するかという問題です。(1992年発行の「アルゴリズムとデータ構造」では節点と書いてました。時代を感じる)ノードは、ある状態

元記事を表示

【AWS Lambda関数作成】Python(local環境)の開発

## はじめに
Python(local環境)の開発に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

## 🦁**結論**🦁
まずは全体図を作成していくこと

:::note info
押さえておくべき点
* APIGateway は最大30秒でタイムアウトしてしまうため対策が必要。「Lambda発火API」と「Lambda状態取得API」のAPIが必要になる。(このサイトに全てが書かれてる)
* 「Lambda発火API」は30秒タイムアウトを回避するためにリクエストする
* 「Lambda状態取得API」に実際の処理をリクエストする
* リクエスト、レスポンスは基本json形式
* インターバルの設定により、実際の処理経過を確認してる。
* インターバルにて’status’を確認してる(RUNNINGが読み込み中、SUCCEEDEDが成功)
* ArnはAWSの各機能のアドレス
* Local環境に必要なのは「各APIのロールにあるURL」
:::
***

::

元記事を表示

[Python] キーワード専用引数をおすすめしたい

この記事は[Jij Inc. Advent Calendar 2023](https://qiita.com/advent-calendar/2023/jij_inc_2023)の15日目の記事です。

株式会社JijのNY57です。

本記事ではPythonの引数に関する持論を展開したいと考えています。よろしくお願いします。

# TL:DR

* キーワード専用引数は変更・削除される可能性のある引数に使うと良い

# 前提: 関数への値の渡し方

以下のように定義された関数を考えます。
“`Python
def func(arg1, arg2, arg3):

“`
この関数を利用する時、引数への値の渡し方は2パターン存在しています。
“`Python
func(1, 2, 3) # 位置引数で指定する
func(arg1=1, arg2=2, arg3=3) # キーワード引数で指定する
“`
ひとつは`func([値], …)`で指定する方法。もうひとつは`func([引数名]=[値], …)`で指定する方法です。本記事では前者を**位置引数指定

元記事を表示

Cognito idTokenをAPIGW&Lambdaで受け取ってデコードする

Cognito idTokenをAPI GW&Lambdaで受け取ってデコードする手順についてのメモ書きです。

# やりたいこと
1. Cognitoでログインし、idToken(jwt)を払い出す。
1. 手順1のidTokenを利用し、APIGWで作成された認証必要なAPIを呼び出す。
1. Cognito Authorizerでユーザー認証を行い、バックエンドのLambdaを起動する。
1. Lambdaで手順1のidTokenを受け取り、デコードする(emailなどのユーザー情報を取得する)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954734/050e7c0f-7fe5-dc09-8773-9ae8bb98a333.png)

# Cognito Userpool
– Userpoolの作成手順は割愛します。
– idTokenの払い出しについて、SDKなどを使うことも可能ですが、今回はホストされたUIを使います。(コールバックURLはいったんlocalhostと

元記事を表示

lambdaからRDS(PostgreSQL)に接続

# LambdaからRDSへの接続設定が簡単になったのでやってみる

## 前提
言語(バージョン):Python3.8
RDS:PostgreSQL
※RDSは作成済みとする
ライブラリ:psycopg2

## 全体の流れ
・ Lambda関数の作成
・ コードの作成
・ 環境変数の設定
・ レイヤーの追加
・ RDS接続設定

## 関数作成
・ 一から作成を選択
・ 任意の関数名を入力
・ ランタイムはpython3.8を選択
※理由は後述
・ アーキテクチャはx86_64を選択

関数の作成を押下

## コードを作成しDeploy

“`
import psycopg2
import os

# 環境変数から接続情報を取得
db_endpoint = os.environ[‘DB_ENDPOINT’]
db_username = os.environ[‘DB_USERNAME’]
db_password = os.environ[‘DB_PASSWORD’]
db_name = os.environ[‘DB_NAME’]

def lambda_handler(ev

元記事を表示

Pythonでテキストに含まれる数字を抜き出す

以下のようなパターンでテキスト内に含まれている数字を抜き出すのに、以下の正規表現を使用します
“`
pattern = r'[^+\-\d]*([+-]?\d+([.,]\d+)?).*’
“`

パターン1: 正の整数の場合
“`
text = ‘123`
result = re.match(pattern, text)
print(result[1]) # => 123

text = ‘+123`
result = re.match(pattern, text)
print(result[1]) # => +123
“`

パターン2: 負の整数の場合
“`
text = ‘-123`
result = re.match(pattern, text)
print(result[1]) # => -123
“`

パターン3: 小数を含む場合
“`
text = ‘123.456`
result = re.match(pattern, text)
print(result[1]) # => 123.456

text = ‘+123.456`
result =

元記事を表示

Pythonで「リストへの要素の追加と別のリストとの結合」の動作を確認してみた

# 概要

Pythonで「リストへの要素の追加と別のリストとの結合」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/python/list/index6.html

# 実装

以下のファイルを作成しました。
“`sample.py
mylist = [“Blue”, “Red”, “Green”]
mylist.append(“White”)
print(mylist)
mylist.append(“Black”)
print(mylist)

kantoulist = [“Tokyo”, “Kanagawa”, “Chiba”, “Gunma”]
addlist = [“Saitama”, “Ibaraki”, “Tochigi”]
# kantoulist に addlist の要素を追加する
kantoulist[len(kantoulist):len(kantoulist)] = addlist
print(kantoulist)

eastlist = [“Tokyo”, “Kanagawa”, “Chiba

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その36 すべてのマスが埋まっていることを判定するアルゴリズム

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/a97a3cdf54087e662230

# 前回までのおさらい

## 〇×ゲームの仕様と進捗状況

1. `正方形で区切られた 3 x 3 の 2 次元のゲーム盤上でゲームを行う`
2. `ゲーム開始時には、ゲーム盤のすべてのマスは空になっている`
3. `2 人のプレイヤーが遊ぶゲームであり、一人は 〇 を、もう一人は × のマークを受け持つ`
4. `2 人のプレイヤーは、交互に空いている好きなマスに自分のマークを 1 つ置く`
5. `先手は 〇 のプレイヤーである`
6. `プレイヤーがマークを置いた結果、縦、横、斜めのいずれかの一直線の 3 マスに同じマークが並んだ場合、そのマークのプレイヤーの勝利とし、ゲームが終了する`
7. `すべてのマスが埋まった時にゲームの決着がついていない場合は引き分けとする`

仕様の進捗状況は、以下のように表記します。

* 実装が完了した部分を `

元記事を表示

今すぐに!FastAPIとOpenSearchで開発を始めるためのテンプレート!

FastAPI、めっちゃ便利ですよね!

昔はDjango(というかDjango REST Framework)をよく利用しており、Webバックエンドの開発はほぼ全てDjangoだったんですが、今年FastAPIで開発をしてみたらめちゃ開発体験がよく、最近ずっと利用しています。

なんですが、Djangoみたいなフルスタックフレームワークと違って、基本的な設定などは自分で行わないといけないのが結構大変だなーと思っています。

なので!サクッと使ってすぐテンプレートを作りました!

弊社はGIS(地理空間情報)を専門とする会社なので、おまけでPostGISというPostgreSQLの地理空間拡張と、最近とにかく利用しまくっているOpenSearchのコンテナも突っ込んでおきました!

https://github.com/nokonoko1203/fastapi-template

## 使い方

リポジトリをダウンロードして、その後フォルダ名を変更します。
(フォルダ名は好きな名称で)

“`bash
git clone https://github.com/nokonoko1203

元記事を表示

シンガポール国立大学に研究留学するためにやったこと(+当時生成AIがあったら)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2627015/90ff84ef-bf43-98bf-f258-74c04b1ad156.png)

*Image generated by OpenAI’s DALL·E-3.*

## はじめに

こんにちは!
本記事では、シンガポール国立大学に研究留学するためにやったことについて記します。研究留学の時期は、2018年頃で5年前(当時は大学院修士課程1年生でした)の話になります。当時は今のように便利な生成AIが無かったです。なので、もし『当時生成AIがあったら』も随時記載することで、2023年現在でも役に立つ記事にできたらなと思います。
(もし『ドラえもんがいたら』みたいなノリです😂)

### 対象読者様

この記事は、以下のような方をメインに想定して執筆しました。

– 研究留学に興味のある学生の方
– 英語の勉強方法を知りたい方
– 英語を話せるようになりたい方

**シンガポール国立大学とは**
>シンガポール国立大学(シンガポ

元記事を表示

seleniumの概要とクラスについて

## はじめに
seleniumの概要とクラスに関しての備忘録です。
初心者です😅
間違えてる部分多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

それにしてもseleniumだけでも奥が深い笑

## 🦁**結論**🦁
# seleniumとは
各要素に働きかけて、ある状況下を構築できて「特定のものを抽出」「特定の反応」などをレスポンスできるライブラリ
***
:::note info
押さえておくべき点
* 言語のサポート: Python, Java, C#, Rubyなど多くの言語で利用可能。
* ブラウザのサポート: Chrome, Firefox, Safari, Edgeなど主要なブラウザに対応。
* WebDriver: 各ブラウザに対応したドライバを使用してブラウザを制御できる。
* 録画・再生機能: Selenium IDEを使ってブラウザ操作を録画し、それを再生することができる。
* エレメントの操作: ページ上のエレメントを見つけて操作(クリック、入力、取得など)。
* セレクタの多様性: ID、クラス

元記事を表示

Geminiにポケモンの育て方を尋ねてみた

# はじめに

焦燥感と衝動にかられたので急遽記事を書くことにしました.

本日は[Retail AI Adventurers Advent Calendar 2023](https://qiita.com/advent-calendar/2023/rai-adventurers)シリーズ2の15日目の投稿です.

昨日は[@10long](https://qiita.com/10long)さんの[gemini速報 Google Cloud Applied AI Summit を見た雑感](https://qiita.com/10long/items/c394823630ba0aef7e58)で,Geminiの速報をまとめて頂いておりました.本日もGeminiを題材にした内容になります.

# Geminiとは

Gemini(ジェミニ,ジェミナイ)とは,Googleが発表した生成AIモデルです.

日本時間の2023/12/14からGCPでGemini Pro,Gemini Pro Visionを使うことができるようになり,一般提供開始までは無料で使えるとのことです.

https:

元記事を表示

OTHERカテゴリの最新記事