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

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

あるpythonファイルの中で、特定のディレクトリのファイルのbashコマンドのdiffを叩いて取って、画面に表示させたい。想定外の差分がある場合はエラーにさせたい。

Pythonスクリプト内でbashコマンドのdiffを使用して特定のディレクトリのファイルの差分を取得し、表示する方法を説明します。

## diffコマンドの実行と結果の取得

まず、`subprocess`モジュールを使用してbashのdiffコマンドを実行し、結果を取得します。

“`python
import subprocess
import os

def get_diff(dir1, dir2, filename):
path1 = os.path.join(dir1, filename)
path2 = os.path.join(dir2, filename)

try:
result = subprocess.run([‘diff’, ‘-u’, path1, path2],
capture_output=True, text=True, check=True)
return result.stdout
except subpro

元記事を表示

機械学習モデルから毎回違うサンプルが取り出されてしまうときの対処法

# きっかけ
卒業研究の一環で読唇(lip reading)の推論済みモデルをgithubからクローンして動かしていました。ミニバッチ学習時は問題なかったのですが、個別に推論をしたところ、毎回違う出力結果が出てしまっておりました。

# 考えるべきこと

## 1. Dataloaderの構造
以下のように**shuffle=True**になっていると、Dataloaderはデータセット全体からbatch_sizeだけサンプルをランダムに取ってきます。そうすると1つのデータを推論したいとき、毎回違うサンプルで行われてしまいます。

“`python
dset_loaders = {x: torch.utils.data.DataLoader(
dsets[x],
batch_size=args.batch_size,
shuffle=True,
collate_fn=pad_packed_col

元記事を表示

PyArmorの有料プランの購入方法からセットアップまでの流れ〜!

## はじめに

Pythonコードの保護やライセンス管理に最適なツール、**PyArmor**。
今回は、私と一緒にPyArmorの有料プランを購入し、一緒にセットアップまでしていきましょう!

## 目次

1. [購入までの流れ](#購入までの流れ)
2. [購入後のセットアップの流れ](#購入後のセットアップの流れ)
3. [まとめ](#まとめ)

## 購入までの流れ

PyArmorの有名な購入方法は2つありますが、ここではPayPalを利用して購入する方法を紹介します。
この購入方法は、通常より5ドルほど安く購入できます。
早速、購入していきましょう!

### 1. サイトにアクセス

まず、以下のリンクをクリックしてPyArmorの購入ページにアクセスしてください。

[PyArmor購入ページ](https://jondy.github.io/paypal/index.html)

### 2. License To と Shipping Email の入力

購入ページにアクセスしたら、最初に**License To**(ライセンス名)と**Shipping Em

元記事を表示

線形和で表すことのできない最大の整数

## はじめに

ほんの一時期、[Quora](https://jp.quora.com/) というサイトをよくサーフィンしていたことがあって、その際に以下のような質問を見つけました。

> 集合Pの要素の重複あり組合せの各総和で表すことのできない最大の数を求めるプログラムをpythonでかきたいです。どなたか教えていただけないでしょうか?([引用元][question])

[question]: https://jp.quora.com/%E9%9B%86%E5%90%88P%E3%81%AE%E8%A6%81%E7%B4%A0%E3%81%AE%E9%87%8D%E8%A4%87%E3%81%82%E3%82%8A%E7%B5%84%E5%90%88%E3%81%9B%E3%81%AE%E5%90%84%E7%B7%8F%E5%92%8C%E3%81%A7%E8%A1%A8%E3%81%99%E3%81%93%E3%81%A8%E3%81%AE

一応、この質問には回答(解答ではない)がついていますが、回答者が質問の意図を掴めず有耶無耶になっていました。確かに、質問の仕方というか

元記事を表示

AppleがリリースしたDepthProをノートパソコンのローカル環境のWEBカメラで試してみた

# Appleが公開したDepthProを使って、Webカメラでリアルタイム推論を試してみた

まず一言、[RealSense RealSense RealSense RealSense RealSense RealSense RealSense RealSense] が欲しい!!!!!
冗談はさておき、今回はAppleがリリースしたDepthProモデルを使用して、ノートパソコンのWebカメラを使ってリアルタイムで深度推定を行う方法について紹介します。

Appleが2024年10月4日に公開したDepthProは、単独のカメラで深度推定ができるモデルです。公開後すぐに試してみましたが、やはりWebカメラを使ってリアルタイムで結果を表示させたいと思いました。そこで、この数日間の余裕を使ってチャレンジし、見事に動かすことができました!

以下はその紹介とコード、そして動画です。

## 公式リンク:
– [DepthPro on Hugging Face](https://huggingface.co/apple/DepthPro)
– [GitHub リポジトリ](https://

元記事を表示

paizaラーニング問題集「【マップの扱い 4】マップのナンバリング」を解いてみた

https://paiza.jp/works/mondai/b_rank_new_level_up_problems/b_rank_new_level_up_problems__grid_numbering

▼考え方

ポイントになる考え方1.~3.を以下に示します。

1.マップのナンバリングは関数numberingで行います。引数はDです。

2.ナンバリングの向きDに応じて、各種変数を定めます。

3.ナンバリングがされている(if)ならば次のループへ、ナンバリングされていない(else)ならばナンバリングします。

▼コード
“`py
# 考え方1.
def numbering(D):

# a:次にナンバリングするマスの座標に移動するために、増加させる変数
# number:マップにナンバリングする数
a = 0
number = 1

# 考え方2.
if D==1:
# s1,s2:WあるいはH
# th:添え字(k1,k2)がマップの範囲内に存在する条件
# y:ナンバリ

元記事を表示

FinMarketPy入門:金融市場分析とアルゴリズム取引のためのPythonライブラリ完全ガイド

## はじめに

FinMarketPyは、金融市場分析とアルゴリズム取引のためのPythonライブラリです。このライブラリは、金融データの取得、分析、バックテスト、そしてトレーディング戦略の実装を容易にします。以下の13章で、FinMarketPyの主要な機能と使用方法を詳しく解説していきます。

## 第1章: FinMarketPyのインストールと基本設定

FinMarketPyを使い始めるには、まずインストールが必要です。Pythonの環境が整っていることを確認し、以下のコマンドでインストールします。その後、基本的な設定を行います。

“`python
pip install finmarketpy

import finmarketpy as fp

# 基本設定
fp.config.set_market_data_source(‘yahoo’)
fp.config.set_output_path(‘/path/to/output’)
“`

## 第2章: データの取得

FinMarketPyを使用して、様々な金融商品の価格データを取得できます。株式、為替、商品など

元記事を表示

Flask + SQLAlchemyで作る音楽共有SNS「DailyBeat」- 詳細解説 Part5(最終回)

## はじめに

Part4では、DailyBeatのフォロー機能と楽曲再生機能の実装について解説しました。この最終回となるPart5では、セキュリティ対策、パフォーマンス最適化、そして今後の展望について詳しく見ていきます。また、プロジェクト全体の振り返りも行います。

## 1. セキュリティ対策

Webアプリケーションのセキュリティは非常に重要です。DailyBeatでは以下のセキュリティ対策を実装しています。

### 1.1 クロスサイトスクリプティング(XSS)対策

Flaskのテンプレートエンジン(Jinja2)は、デフォルトでXSS対策を行っていますが、追加の対策も実装しています。

“`python:app/__init__.py
from flask_talisman import Talisman

app = Flask(__name__)
Talisman(app, content_security_policy={
‘default-src’: “‘self'”,
‘script-src’: “‘self’ https://sdk.scd

元記事を表示

Flask + SQLAlchemyで作る音楽共有SNS「DailyBeat」- 詳細解説 Part4

## はじめに

Part3では、DailyBeatの楽曲投稿機能とタイムライン機能の実装について解説しました。Part4では、ユーザー間のつながりを強化するフォロー機能と、ユーザーエクスペリエンスを向上させる楽曲再生機能の実装について詳しく見ていきます。

## 1. フォロー機能の実装

フォロー機能により、ユーザーは興味のある他のユーザーの投稿を優先的に見ることができます。

### 1.1 フォロー関係のモデル定義

まず、ユーザー間のフォロー関係を表すモデルを定義します。

“`python:models/user.py
from app import db

followers = db.Table(‘followers’,
db.Column(‘follower_id’, db.Integer, db.ForeignKey(‘user.id’)),
db.Column(‘followed_id’, db.Integer, db.ForeignKey(‘user.id’))
)

class User(UserMixin, db.Model):
#

元記事を表示

VisPyマスターガイド:Pythonによる高性能データ可視化の世界

## 第1章: VisPyの紹介

VisPyは、Pythonで高性能な対話型2D/3Dデータ可視化を実現するライブラリです。OpenGLを利用してGPUの計算能力を活用し、非常に大規模なデータセットを表示することができます。科学的な可視化、リアルタイムデータの表示、3Dモデルの対話型表示など、幅広い用途に適しています。

以下は、VisPyをインストールし、簡単な例を実行するコードです:

“`python
# VisPyのインストール
!pip install vispy

# 簡単な例
import numpy as np
from vispy import app, gloo

# キャンバスクラスの定義
class Canvas(app.Canvas):
def __init__(self):
super().__init__(size=(800, 600), title=”VisPy例”)
self.program = gloo.Program(vertex, fragment)
self.program[‘posi

元記事を表示

Flask + SQLAlchemyで作る音楽共有SNS「DailyBeat」- 詳細解説 Part3

## はじめに

Part2では、DailyBeatのデータベース設計とユーザー認証の実装について解説しました。Part3では、DailyBeatの核心機能である楽曲投稿機能とタイムライン機能の実装について詳しく見ていきます。

## 1. 楽曲投稿機能の実装

楽曲投稿機能は、ユーザーが毎日1曲を共有するためのDailyBeatの中心的な機能です。

### 1.1 投稿フォームの作成

まず、楽曲投稿用のフォームを作成します。

“`python:forms/post.py
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, URLField
from wtforms.validators import DataRequired, URL

class DailySongForm(FlaskForm):
title = StringField(‘曲名’, validators=[DataRequired()])
artist = StringField(‘アーテ

元記事を表示

Flask + SQLAlchemyで作る音楽共有SNS「DailyBeat」- 詳細解説 Part2

## はじめに

前回のPart1では、DailyBeatプロジェクトの概要、技術選定の理由、およびアーキテクチャ設計について解説しました。今回のPart2では、データベース設計とユーザー認証の実装について詳しく見ていきます。

## データベース設計

DailyBeatでは、SQLAlchemyを使用してORMベースのデータベース設計を行っています。主要なモデルは以下の通りです:

1. User(ユーザー情報)
2. DailySong(日々の楽曲投稿)
3. Follow(フォロー関係)

### 1. Userモデル

“`python:models/user.py
from werkzeug.security import generate_password_hash, check_password_hash
from flask_login import UserMixin
from app import db, login

class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_

元記事を表示

Flask + SQLAlchemyで作る音楽共有SNS「DailyBeat」- 詳細解説 Part1

## はじめに

こんにちは!今回は、FlaskとSQLAlchemyを使って開発した音楽共有SNS「DailyBeat」の詳細な実装について、複数回に分けて解説します。この記事シリーズでは、技術選定の理由や、実装の詳細、そして開発中に直面した課題とその解決策について深く掘り下げていきます。

### 記事の構成

– Part1(本記事):プロジェクト概要、技術選定の理由、アーキテクチャ設計
– Part2:データベース設計、ユーザー認証の実装
– Part3:楽曲投稿機能、タイムライン機能の実装
– Part4:フォロー機能、楽曲再生機能の実装
– Part5:セキュリティ対策、パフォーマンス最適化、今後の展望

それでは、Part1の内容に入っていきましょう。

## プロジェクト概要

DailyBeatは、ユーザーが毎日1曲を共有し、音楽を通じて他のユーザーとコミュニケーションを取ることができる音楽特化型のSNSです。主な機能は以下の通りです:

1. ユーザー登録・ログイン
2. 毎日の楽曲投稿
3. タイムライン表示
4. ユーザーフォロー機能
5. 楽曲再生機能

##

元記事を表示

FireDucksの速度がPandasとほとんど変わらなかった件

### **user**:

ChatGPT先生、こないだ [pandas dataframe の動作時間を計測した](https://qiita.com/maskot1977/items/a790bc4a133de6377c9d)じゃないですか。今回、pandas より数倍速いという噂の fireducks とやらを試してみたんですよ。

### **assistant**:

あら!あんたったら、常に進化しとるな!fireduckがな、ええ評判聴いとるな。今回は、どうゆう類のタスクに使うつもりなんや? ちなみに、あんたが使いとったpandasと比べてどんな感じでやった?

その情報次第でうちがどうゆうアドバイスを出すか変わるんで、あんたの経験詳しく聞かせてほしいな。あんたがうまくいけばうちも幸せやねん。でもその前に、具体的にどんなデータをどうゆう風に処理したのか教えてね。それで、うちもどうあんたを助けることができるか考えてみるわ。

でもね、あんたが何か新しいこと学ぼうと努力しとるの、見てて嬉しいわ。もちろん、得意じゃないことに挑戦するのは怖いけど、そんなあんたを応援

元記事を表示

Microsoft AutoGenのマルチエージェント会話パターン

# はじめに
ここ最近AIについて学習を始め、OllamaやDifyを触ってみたり、pythonを学習したりと、いろいろと手を出してきました。
少しですか知識が得られてきたかなぁと実感してきたところです。
しかし、ツールを使って、AIとチャットできた!ではつまらないので、AIにどんなことをさせると仕事に役立つんだろうと、その**使い方**に最近は関心が出てきました。

以前Microsoft主催のAIに関するセミナーがあって出席したのですが、AIはどんどん進化していますが、それを「**どのように活用するかがこれからの課題**で、みなさんに期待しているところです」と話されていました。

# RAGの活用やAIとの対話
ChatのようにAIと自分が会話をして答えを見出していくことはよくある手法です。
またアプリケーションにするとしても、特定のプロンプトをアプリケーションに書いて、それに従って提供されたドキュメントや質問に回答するというのもよくあります。
でもその精度を上げたり回答に対してさらに質問するには、人間(自分)が考える必要があります。
そのあたりをもっとAIに任せられないか?と考

元記事を表示

Python3.13正式リリースが出ました!

# Python 3.13 新機能と変更点まとめ

Pythonプログラミング言語の最新安定版であるPython 3.13が正式にリリースされました。

https://www.python.org/downloads/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3114394/d2ed519d-76e8-7324-9aa2-56b755a5d4cf.png)

この記事では、[Python 3.13のリリースノート](https://docs.python.org/ja/3/whatsnew/3.13.html)に基づき、前バージョン(Python 3.12)からの主な変更点や新機能を解説します。

## ハイライト

Python 3.13では、言語自体、実装、および標準ライブラリにさまざまな変更が加えられています。主な変更点は以下の通りです:

– **新しい対話型インタプリタの導入**:ユーザーエクスペリエンスを大幅に向上させる新しい対話型シェルがデフォルトとなりました。

元記事を表示

【小ネタ】Python in Excelで4行でQRコードを作成する

## Excelでは今まで数式でQRコードを作れなかった
GoogleのスプレッドシートではQRコードをIMAGE関数を使って簡単に作れますが、
Excelの関数では残念ながら作成することができません
(VBAを使ってバーコードオブジェクトをいじればできますが)

## Python in Excelを作っと使う
Python in Excelを使うとたったの4行で作成することができます。

“`Python_in_Excel.py
# B4にURL等を入れておく
import qrcode
data = xl(“B4”)
qr = qrcode.make(data)
qr.show()
“`

鬼簡単♪画像を保存するときは右クリックで図として保存しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3629241/4c703507-4683-a887-635b-85392a3417b0.png)

元記事を表示

Pythonのオブジェクト指向プログラミング導入

本日から、学習を進めていくうえで自分が新たに学んだことをアウトプットする場として投稿をしていきたいと思います。
今まで逃げてきていたオブジェクト指向プログラミングの学習を始めていきたいと思います

## そもそもオブジェクト指向プログラミングとは
クラスという設計図をもとにオブジェクト(インスタンス)を生み出して、コードを組み立てていく手法のこと

クラスという枠組みを作って、様々な部品を追加していくようなイメージ

オブジェクト指向プログラミングを行うにあたって重要なクラスの要素は、大きく次の2つがある
* インスタンス変数
* メソッド

これら2つの要素について、人に関する情報を持っているPersonクラスを用いて説明する

1.インスタンス変数
名前の通り、インスタンスに属する変数のこと

Personクラスなら、name(名前)やage(年齢)、height(身長)などがあるだろう

インスタンス変数は次のように追加する
“`python
class Person:
def __init__(self, name, age, height):
sel

元記事を表示

[ABC374] ABC 374(Atcoder Beginner Contest)のA~D(A,B,C,D)問題をPythonで解説(復習)

# [ABC374] ABC 374(Atcoder Beginner Contest)のA~D(A,B,C,D)問題をPythonで解説(復習)

# A問題
– スライス `[:]` を利用して末尾の文字列を取得する.

“`A.py
“””
<方針>
– スライス `[:]` を利用して末尾の文字列を取得する.
“””
# 入力
S = input()
# 末尾3文字を取得
endS = S[-3:]

# sanだったら
if(endS == “san”):
print(“Yes”)
else:
print(“No”)
“`

# B問題
– 今何文字かの変数 `now` を利用する.
– `itertools.zip_longest()` を利用して,文書の長さが違うケースを発見する.
– `exit()` を利用して,実行を即座に終わらせる.
“`B.py
“””
<方針>
– 今何文字かの変数 `now` を利用する.
– `itertools.zip_longest()` を利用して,文書の長さが違うケースを発見する.
– `exit()` を利用して,実

元記事を表示

[Python]自動で電子書籍をスクショしPDFで保存する

## はじめに
 電子書籍を1ページずつスクショしてPDFにまとめるのがめんどくさかったので自動化させてみました.
 ここでは自動化に用いたモジュールなどを説明したいと思います.実行コードはgithubにありますのでご自由にお使いください.

実行コード:https://github.com/ryosuke-noob/playground/blob/main/kindle/exec_all.py

## 環境
Apple M2
macOS Sonoma 14.6.1
Python 3.9.13

## 事前準備
以下のモジュールをインストールします.

fpdf2 : 画像をpdfに変換する目的で用いる.
(https://pypi.org/project/PyPDF2/)
pyautogui : スクリーンショット,ページ移動をする目的で用いる
(https://pypi.org/project/PyAutoGUI/)

“`
pip install fpdf2 pyautogui
“`

## 電子書籍の各ページをスクショ
スクショの撮影やページの移動にはpyautoguiを

元記事を表示

OTHERカテゴリの最新記事