🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

872閲覧

2つのpyファイル間を変数hogeにより受け渡せるか?

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/06 07:29

編集2019/09/06 10:50

お世話になります。
以下のように2つのpyファイル間の変数を取得して
main.pyでprint(sub.function.hoge)でthis is testを表示させるにはどうしたらいいのでしょうか?

main.py

# !/usr/bin/env python # coding: utf-8 import sub print(sub.function.hoge)

sub.py

# !/usr/bin/env python # coding: utf-8 def function(): hoge = "this is test" return hoge

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2019/09/06 08:48

それ以前に、そもそも、sub.py で実行しても、 function.hoge では、this is test を表示させることができないです。ご確認ください。
退会済みユーザー

退会済みユーザー

2019/09/06 10:34

ありがとうございます。修正しました。
Lhankor_Mhy

2019/09/06 10:39

ご修正ありがとうございます。 しかし同様に、sub.py で実行しても動かないと思います。 関数の中のローカル変数はプロパティとは異なり、外部からアクセスできません。 rikapy さんが想定されているのはクラスなどのふるまいではありませんか?
退会済みユーザー

退会済みユーザー

2019/09/06 10:47 編集

こちらこそありがとうございます。 実はsub.pyでoutput123.txtといったテキストを作成します。 このファイル名「output123.txt」をmain.pyに引き継ぎたいです。main.pyでoutput123.txtが開ければベストです。 沢山のユーザが一度に使用する可能性がある為tempフォルダにoutput201900909.txtを格納すると重複する恐れがありますので自分でかんがえて却下しました
退会済みユーザー

退会済みユーザー

2019/09/06 10:49 編集

私が実現したい事は関数では実現できないのでしょうか?逆にクラスだと実現できるのでしょうか?クラスは設計図のようなもので継承して利用するには便利ですがPyファイル間でもクラスだけ利用ができるイメージがあまり湧いていません
Lhankor_Mhy

2019/09/06 10:50

ご提示のコードで、main.pyから this is test を表示させる、ということであれば、 print( sub.function() ) だと思いますが、そういう話ではないのですよね?
退会済みユーザー

退会済みユーザー

2019/09/06 10:58

https://teratail.com/questions/210460 実際の話は上記質問に記載していますのでご確認・ご回答いただければ幸いと存じます
退会済みユーザー

退会済みユーザー

2019/09/06 11:01

8時間ハマってます泣
guest

回答1

0

python

1import sub 2print(sub.function())

前の質問でsubprocessに拘るのは何か理由があるのでしょうか?python同士で連携するのに標準出力を使うのはちょっと意図がわからないです。

投稿2019/09/06 19:49

kairi003

総合スコア1332

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/06 23:07 編集

ありがとうございます。 https://teratail.com/questions/210460 で回答お待ちしております。subprocessにこだわりはありません。目的が達成されるのであれば標準出力以外でも構いませんが具体的コードと方法を書いて頂けますか?標準出力を使う意図は複数の人間が一度に利用するからです。例えばファイルに書き込むなんて重複する可能性があってできません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問