前提・実現したいこと
Cのincludeのようにプログラムの一部として外部ファイルを読みたいです。
詳しく言うと○○.pyといったファイルをプログラム内の文として扱いたいです。
importだと意図した動きと少し違ったのでどうすればいいですか?
前提・実現したいこと
includeのように同一ファイルとして別ファイルを読ませる。(つぎはぎにする)
発生している問題・エラーメッセージ
File "Desktop\disco\kansu\lod.py", line 5, in lod with open('sav/'+ message.author.id +'_sav.txt') as fp: NameError: name 'message' is not defined
該当のソースコード
【pawa.py】
python
1長いので省略 2import discord 3from kansu.lod import lod 4 5処理類 6 7lod() 8
【lod.py】
python
1 2# 保存 3# lod() 保存先はlstというリスト 4 5def lod(): 6 with open('sav/'+ message.author.id +'_sav.txt') as fp: 7 lst = list(csv.reader(fp)) 8 return() 9
簡潔に
1.こういう結果を期待して、 2.こういうコードを書いたら、 3.こういう結果になった
1 複数ファイルに分割して書いたファイルを一つのファイルとして扱いたかった。(端的に言うとimport→importの引継ぎなどがしたかった)
2 該当のソースコードの部分見てください
3 1の動作にならず、import→importの引継ぎができていない
どういったコードで意図と違った結果になりましたか? 簡単な例があると回答しやすいです。
1.こういう結果を期待して、
2.こういうコードを書いたら、
3.こういう結果になった
の1,2,3を全部書いてください。
必要なpyファイルをimportする
↓
プログラム(必要なpyファイルを読ませたい)←ここまで行きました
↓
処理用pyファイル(必要なpyファイルと上の処理を読ませたい)←必要なpyファイルとプログラム本編での処理が引き継がれない
ってなってしまうのでこれを解消したいです
コードを示していただいたのは良いのですが、2点疑問があります。
from kansu.lod import lod
がlod.pyのimportであるということですか?
変数messageはpawa.pyの中の省略部分で定義されたということですか?
わかりにくかったですかね?
1.~~~と出力されることを期待して、
2.こういうコードを書いたら、
3.~~~が出力された
うまく伝えられずにすいません。
同じ事を何度も書いてもらう必要は無いです。
主観じゃなくて、客観的・具体的にと言えば良かったかな。
私の質問もスルーせず答えていただけると嬉しいです;_;
もしかして、こういうこと?
Python - Python 外部ファイルで定義した変数を使用したい|teratail
https://teratail.com/questions/51381
pythonで表現できないのであれば、Cの仮想コードを提示して、このようなことをpythonではどう記述するのかと問えばよろしいのではないかと。ちなみに、import間で依存関係が発生しそうな方法はゾッとするのですが、そもそもCでもゾッとするようなコードなのではないでしょうか。そういう意味ではお考えを改め、よりより実装を学んだ方がよろしいかと思われます。
回答1件
あなたの回答
tips
プレビュー