<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>コマンドプロンプト  |  来々軒　（らいらいけん）</title>
	<atom:link href="https://www.rairaiken.org/archives/tag/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88/feed" rel="self" type="application/rss+xml" />
	<link>https://www.rairaiken.org</link>
	<description>「一部得なデジタルガジェットライフ」を提供したい。モバイル・ガジェット・PCTips・くるま</description>
	<lastBuildDate>Wed, 09 Sep 2020 12:18:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.rairaiken.org/wp-content/uploads/2023/12/cropped-icons-32x32.png</url>
	<title>コマンドプロンプト  |  来々軒　（らいらいけん）</title>
	<link>https://www.rairaiken.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Python同士の連携方法（別ファイルのpython関数実行や引数でつなぐ）</title>
		<link>https://www.rairaiken.org/archives/5797</link>
					<comments>https://www.rairaiken.org/archives/5797#respond</comments>
		
		<dc:creator><![CDATA[k_tuned]]></dc:creator>
		<pubDate>Tue, 08 Sep 2020 07:03:48 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[引数]]></category>
		<guid isPermaLink="false">http://www.rairaiken.org/?p=5797</guid>

					<description><![CDATA[Pythonは色々なすごい人の機能を引っ張ってきて使うことが多い。 Pythonファイル同士の連携ができるようになると、他ファイルの関数を実行したり、他ファイルに値を送って、処理してくれた値を拾うようにして色々なことが出 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995491341539.jpg" alt=""></p>
<p>Pythonは色々なすごい人の機能を引っ張ってきて使うことが多い。<br />
Pythonファイル同士の連携ができるようになると、他ファイルの関数を実行したり、他ファイルに値を送って、処理してくれた値を拾うようにして色々なことが出来ます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">もくじ</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">3つのパターンで紹介をするよ</a></li><li><a href="#toc2" tabindex="0">引数なしで他pythonファイルを読む</a></li><li><a href="#toc3" tabindex="0">引数ありでpythonファイルを読み込む</a><ol><ol><ol><li><a href="#toc4" tabindex="0">#### 引数付きの場合はこうする#####test1-1.py</a></li></ol></li></ol></li></ol></li><li><a href="#toc5" tabindex="0">コマンドプロンプトに引数を入れて実行する場合</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">3つのパターンで紹介をするよ</span></h2>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995488648453.jpg" alt=""></p>
<p>今回は3つのパターンでの連携方法を紹介します。<br />
1つ目はそのまま他pythonファイルと連携される方法<br />
2つ目は引数というある情報を伝えながら他pythonファイルと連携する方法<br />
3つ目はコマンドプロンプトで引数をつけて実行すると使えるようになる方法</p>
<p>とこれらは結構使います。</p>
<p>※引数はイメージで例えると、python1ファイルに体重を入れるメニューがあって、python2ファイルが0.8倍にしてくれる機能を持ったものとしましょう。<br />
python1ファイルに入れた体重80kgを、python2ファイルに80kgという情報を伝える箱が引数と思ってもらえればいいです。</p>
<h2><span id="toc2">引数なしで他pythonファイルを読む</span></h2>
<p>まず呼び出すほう＝呼ぶ元のファイルをtest1.pyとします。<br />
呼び出される方をtest2.pyとします。<br />
これら2つのpythonファイルは同じフォルダに入れて下さい。</p>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995492868337.jpg" alt=""><br />
################# ##test1.py<br />
import test2 # 参照先のpythonファイル名</p>
<p>print(&#8220;test1だよ&#8221;)</p>
<p>test2.go3() # pythonファイル名.関数名<br />
##############################</p>
<p>まず、import test2と呼び出される方のファイルをpy拡張子なしでファイル名だけ入れて下さい。<br />
test1だよと表示できるようにprint構文を入力します。（これは表示だけの問題なので入れなくてもOK）<br />
他のpythonファイルを連携して、他のpythonファイルを実行するときは<br />
pythonファイル名.関数名()と入力して下さい。<br />
今回の場合はtest2.pyのgo3という関数を読み出します。</p>
<p>これで別ファイルの関数の処理を実行してくれます。</p>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995492948008.jpg" alt=""></p>
<p>################# 呼ばれる側のほう test2.py<br />
def go3(): # 関数go3<br />
print(&#8220;test2だよ&#8221;)</p>
<p>if __<strong>name__</strong> == &#8216;__<strong>main__</strong>&#8216;: # これをやると、直接test2.pyを読んだ時に下の関数を実行する<br />
go3()</p>
<p>#####################</p>
<p>呼ばれる方の設定は上記のとおりです。<br />
呼び出すことを行いませんのでimportは不要です。</p>
<p>今回は関数go3を実行させることになるので、関数を作成するしてみましょう。<br />
関数は、def 関数名():で定義して下さい。<br />
別回の繰り返しと同じように、関数の中身の操作はtabで1回揃えてあげて下さい。<br />
なかにtest2だよを表示する分を組んでみます。</p>
<p>あと、if __<strong>name__</strong> == ‘__<strong>main__</strong>’:というおまじないを作成しています。<br />
これは何かというと、今は別のpythonファイルから呼び出される内容ですが、このtest2.pyを実行した時に何をするかの内容です。<br />
この中にgo3()とgo3関数を実行するように入れていますので、test2.pyを直接開いた時にはgo3を実行することになります。</p>
<p>では実際に実行してみます。<br />
<img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995492948110.jpg" alt="">test1.pyで作成した、test1だよの後に、test2.pyのgo3関数にあるtest2だよを表示できるようになりました。</p>
<h2><span id="toc3">引数ありでpythonファイルを読み込む</span></h2>
<p>前述どおりで引数という何かの値を渡してあげる方法です。</p>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995654093913.jpg" alt=""></p>
<h5><span id="toc4">#### 引数付きの場合はこうする#####test1-1.py</span></h5>
<p>import test21 # 参照先のpythonファイル名</p>
<p>print(&#8220;test1だよ&#8221;)</p>
<p>moji = &#8220;amazonギフト&#8221;</p>
<p>test21.go3(moji) # pythonファイル名.関数名(引数名)<br />
########################</p>
<p>他のpythonファイルを読み出すので、他のpythonファイル名をimportで定義します。<br />
今回はmojiという変数にamazonギフトと決めて、そのmojiを引数で、他のpythonファイルに飛ばしてやりましょう。</p>
<p>実行させるには、先ほどの方法に1文を増やすだけでOKです。<br />
pythonファイル名.関数名(引数名)<br />
test21.go3.(moji)<br />
と変数mojiを引数に入れて飛ばすので、その分を追加するだけでOKです。</p>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995654154394.jpg" alt=""></p>
<p>############ 呼ばれる側のほう。引数付きの場合. test21.py<br />
def go3(moji): # 関数go3(引数)<br />
print(moji + &#8220;だよ&#8221;)</p>
<p>if __<strong>name__</strong> == &#8216;__<strong>main__</strong>&#8216;: # これをやると、直接test2.pyを読んだ時に下の関数を実行する<br />
go3()</p>
<p>############################</p>
<p>呼ばれる側の関数は、def 関数名(引数)のカッコのところに引数を入れましょう。今回は変数mojiが飛んでくるのでmojiにしています。<br />
その下で実行するprint(moji &#8230;. )のmojiは呼び出す側で定義したamazonギフトが入ってきます。</p>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995654357402.jpg" alt=""></p>
<p>はい、こんな感じで無事に出てきました。</p>
<h2><span id="toc5">コマンドプロンプトに引数を入れて実行する場合</span></h2>
<p>これもよく使う手法の一つです。<br />
pythonを実行する時にはコマンドプロンプトにpython hogehoge.pyとpythonとファイル名を打ち込んで実行をしますが。この時にファイル名の後ろにスペースを開けて、文字を追加すると引数として実行することが可能です。<br />
なんだかんだ使うので覚えておきましょう。</p>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995667435514.jpg" alt=""><br />
sys.pyというpythonファイルを実行するものを作ります。<br />
コマンドプロンプト上でpython sys.py inu nekoと入れる例とします。</p>
<p>ここにあるinu nekoはinuという1つ目の引数、nekoという2つ目の引数を定義しています。</p>
<p><img decoding="async" src="https://www.rairaiken.org/wp-content/uploads/2020/09/15995669141868.jpg" alt=""></p>
<h6>################sys.py</h6>
<p>import sys</p>
<p>args = sys.argv<br />
####### argv: &#8220;argument vector&#8221;(引数の配列)の略</p>
<p>print(args[1]) # 1つ目のコマンドライン引数<br />
print(args[2]) # 2つ目のコマンドライン引数<br />
##########################</p>
<p>コマンドプロンプトで入れた引数を入れる場合はまず、import sysでsys機能を読み込むようにして下さい。<br />
sys.argvに引数の配列が入っているため、argsという変数に打ち込みましょう。(args=sys.argv)</p>
<p>配列の使用法にもなりますが、変数名[n]とnに配列数を入れるとその配列に入った変数値を読み出すことが出来ます。<br />
今回は1つ目と2つ目の配列に入っていますので、<br />
args[1] / args[2]として、それをprintしていますので、引数の配列のコメント表示するようにしています。</p>
<p>上の実行例のように、1つ目の文字表示にはinuという1つ目の引数、2つ目の文字表示にはnekoという2つ目の引数が出てきました。</p>
<p><a href="https://www.rairaiken.org/archives/5729">特集ページ：Pythonを学んで活用してみよう</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.rairaiken.org/archives/5797/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
