Visual Studio 2022のインストール
久しぶりにVisual Studioを使ってコードを書く気になってきたので、2022をインストールしています(現在ダウンロード中)。
テストツール関係をいじっていくつもりでいます。
主に以下に書籍の内容を別のツールでできるか確かめていくつもりです。
以上。
参照リンク
基本的な所ですが、 button1_ClickとClick eventとのつなげ方は以下が参考になります。
デザイナー上で配置したボタンをクリックすれば元になるbutton1_Clickは自動で生成されますが念のため。
以下はその他の参照リンク
開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit), C#
Python 16.10.21111.19
Python - Conda サポート 16.10.21111.19
Python - Django サポート 16.10.21111.19
Python - プロファイル サポート 16.10.21111.19
.NET Core 3.1
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
*このページで紹介されているのはあくまでサンプルプログラムで、実際に製品のコードを作成される場合は適切なエラー処理などを実装するようにお願いします。また、動作環境によっては想定した動きにならない場合があります。適宜、実行環境に合わせてプログラムの内容を最適化ください。
ランキングに参加してます。
よかったらクリックをお願いします。
Visual Studioで使える言語のアクセス修飾子
今回はVisual Studioで使われる言語(Visual Basic .Net, C#)で使えるアクセス修飾子の参考リンクをまとめてみました。
>C#
以上。
参照リンク
基本的な所ですが、 button1_ClickとClick eventとのつなげ方は以下が参考になります。
デザイナー上で配置したボタンをクリックすれば元になるbutton1_Clickは自動で生成されますが念のため。
以下はその他の参照リンク
開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit), C#
Python 16.10.21111.19
Python - Conda サポート 16.10.21111.19
Python - Django サポート 16.10.21111.19
Python - プロファイル サポート 16.10.21111.19
.NET Core 3.1
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
*このページで紹介されているのはあくまでサンプルプログラムで、実際に製品のコードを作成される場合は適切なエラー処理などを実装するようにお願いします。また、動作環境によっては想定した動きにならない場合があります。適宜、実行環境に合わせてプログラムの内容を最適化ください。
ランキングに参加してます。
よかったらクリックをお願いします。
Visual StudioでPython (マルチプロセス05-共有ファイルによる異言語-PythonとC#-での作成プログラム間の通信)
マルチプロセスでのプロセス間でのデータの共有をためしてみました。
今回はPythonで作ったプログラムとC#で作ったプログラムを並列で動かし、共有ファイルを使ってデータのやり取りを試してみました。
PythonとC#の両方のコード資産を同時に使いたいときに参考になるかと思います。
<Python側の動作の流れ>
example.txtというテキストファイルに、文字列を書き込み、その後、無限ループでexample.txtの内容読み込み、標準出力などに出力する。
<C#側の動作の流れ>
example.txtに指定した文字列を書き込む。
<成功した場合>
pythonで実行しているexample.txtの標準出力への出力内容が途中から書き換わる。
>Pythonのプログラムは以下の通りです。
import mmap
f = open('example.txt', 'w')
f.write('555')
f.close()
with open("example.txt", "r+b") as f:
mm = mmap.mmap(f.fileno(), 0)
while True:
mm.seek(0)
mode=mm.readline()
print(mode)
>C#で製作した画面は以下の通りです。

>C#のプログラムは以下の通りです。
button1_Clickが追加したコードです。
他は自動生成される内容やおまじない。
Form.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace TestSharedFileWithPython
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string filepath = "example.txtの絶対パス";
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); // .Net CoreではShift-JISを.NET Frameworkと同じコードでは使えないので、このコードが必要。
try
{
Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");
//ファイルをオープンする
using (FileStream fs = new FileStream(filepath,
FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
using (StreamWriter sw = new StreamWriter(fs, sjisEnc))
{
sw.Write(textBox1.Text);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
>スタートアッププロジェクトの設定
ソリューションエクスプローラ上のソリューションを右クリックして表示されるコンテキストメニュー内に"スタートアッププロジェクトの設定"
![]()
という項目があるので、
そこでマルチスタートアッププロジェクトを選択し、
並列して実行したいPythonとC#のプロジェクトのアクションを"開始"に設定してOKボタンを押してください。

この設定をした後でデバックの実行を開始すれば、並列してPythonとC#のプロジェクトが実行されます。
並列起動しているC#のプログラムでtttと書き込むと、

Pythonプログラムの出力内容が書き換わります。

今回は以上になります。
参照リンク
基本的な所ですが、 button1_ClickとClick eventとのつなげ方は以下が参考になります。
デザイナー上で配置したボタンをクリックすれば元になるbutton1_Clickは自動で生成されますが念のため。
以下はその他の参照リンク
開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit), C#
Python 16.10.21111.19
Python - Conda サポート 16.10.21111.19
Python - Django サポート 16.10.21111.19
Python - プロファイル サポート 16.10.21111.19
.NET Core 3.1
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
*このページで紹介されているのはあくまでサンプルプログラムで、実際に製品のコードを作成される場合は適切なエラー処理などを実装するようにお願いします。また、動作環境によっては想定した動きにならない場合があります。適宜、実行環境に合わせてプログラムの内容を最適化ください。
ランキングに参加してます。
よかったらクリックをお願いします。
Visual StudioでPython (マルチプロセス04-共有メモリ02)
今回はマルチプロセスで、プロセス間でデータの共有をためしてみました。
今回も共有メモリに関してです。
前回の記事はこちら
今回はファイルを利用した共有メモリのデータのやり取り方法になります。実在するファイルを利用するので、異なる言語間でのデータの共有がしやすいです。
今回のプログラムは以下を参照しました。
上記リンクのtest1.py, test2.pyを並行に実行する必要があるため、subprocessを使用して並行実行しました。以下を参考にしました。
コード(test3.py)は以下の通りです。
import subprocess
from time import sleep
subprocess.Popen(["python", "Test1.py"])
sleep(5) #5秒待つ。
subprocess.Popen(["python", "Test2.py"])
このtest3.pyを実行すると、example.txt(上記でも参照している
Pythonでの共有メモリの実現方法(mmap.mmap) - Qiita
の内容を参照ください)が00から01に書き換わるのが確認できます。
開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit)
Python 16.10.21111.19
Python - Conda サポート 16.10.21111.19
Python - Django サポート 16.10.21111.19
Python - プロファイル サポート 16.10.21111.19
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
ランキングに参加してます。
よかったらクリックをお願いします。
Visual StudioでPython (マルチプロセス03-共有メモリ01)
今回はマルチプロセスで、プロセス間でデータの共有をためしてみました。
今回利用するのは共有メモリです。
以下のサイトに掲載されているコードを動かしてみました。
→上記のサイトの”共有メモリ”のパラグラフのコードはコピペして実行で問題なく動かすことができました。
qiita.com→上記のサイトの"共有メモリ(Shared memory)"のコードは、targetの引数に指定されている関数名とmain内の変数名が一致しているため、わたしの環境ではそのままでは動かず、エラーが吐き出されました。

main内のprocessXという変数をpX(Xは1, 2, 3のいずれか)の改変をすることで正常に動くようになりました。
・改変前
>process1 = Process(target=process1, args=[count, array])
・改変後
>p1 = Process(target=process1, args=[count, array])
ArrayクラスやValueクラスを使用して、共有メモリによる値の引き渡しができることを確認しました。
開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit)
Python 16.10.21111.19
Python - Conda サポート 16.10.21111.19
Python - Django サポート 16.10.21111.19
Python - プロファイル サポート 16.10.21111.19
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
ランキングに参加してます。
よかったらクリックをお願いします。
Visual StudioでPython (マルチプロセス02)
今回はマルチプロセスで、プロセス間でデータの共有をためしてみました。
以下のページに乗っているコードを実行しました。
試したのは2個目のコードで、空の辞書を関数の一つ目の引数として渡す処理が追加されているほうです。
上記のページに載っているのと同じ結果になりました。

開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit)
Python 16.10.21111.19
Python - Conda サポート 16.10.21111.19
Python - Django サポート 16.10.21111.19
Python - プロファイル サポート 16.10.21111.19
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
ランキングに参加してます。
よかったらクリックをお願いします。
Visual StudioでPython (マルチプロセス01)
このリンクに掲載されているコードで、Processクラスのパラグラフに掲載されているコードを実行してみました(コードはリンク先を参照ください)。
以下の結果になりました。

ひとまず、別プロセスを立ち上げるのには成功しました。
他にもWebにはサンプルコードが掲載されているので、Visual Studioで試したときに問題なくそれらが立ち上がるかを検証して、Pythonでのマルチプロセスプログラミングに慣れていきたいと思います。
開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit)
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
ランキングに参加してます。
よかったらクリックをお願いします。
