私はPythonにはかなり新しく、私が取り組んでいるプロジェクトの全体的な目標は、将来の簡単な入力を可能にするSQLite DBをセットアップすることですプログラマー以外の人(これは、技術的にすべて有能な少人数のグループの人のためのものです)。私がこれを達成しようとしているのは、簡単なテキストエディタを使って新しいデータエントリを.pyファイルとして保存し、DBに値を入力する関数内の.pyファイルを開くことです。これまでのところ私が持っている:Python3.5で器具を渡すための関数で別の.pyファイルを開く
def newEntry(material=None, param=None, value=None):
if param == 'density':
print('The density of %s is %s' % (material, value))
import fileinput
for line in fileinput.input(files=('testEntry.py'))
process(line)
それから私は、単純なテキストエディタでnewEntryを端末内で実行されたときに、うまくいけばnewEntry.pyによって呼び出されますtestEntry.pyというファイルを作成しました。ここでの考え方は、ユーザは、カッコ内に入力した引数を関数名に入れるだけでよいということです。 testEntry.pyは単純に:
# Some description for future users
newEntry(material='water', param='density', value='1')
端末でnewEntry.pyを実行すると、何も起こりません。私が知らない他のファイルの中で.pyファイルを開いて実行する別の方法がありますか?助けてくれてどうもありがとう。
「普通のユーザー」にコードを書くよう指示した場合には、無数のバグは扱わなければならないが、それは恐ろしく不安かもしれない。私は['YAML'](https://en.wikipedia.org/wiki/YAML)のような人にやさしい構造化されたフォーマットを使うことをお勧めします。これは[' ruamel.yaml'](通常の[INIファイル](https://en.wikipedia.org/wiki/INI_file)とビルトインの['configparser(https://yaml.readthedocs.io/ja/latest/) '](https://docs.python.org/3/library/configparser.html)モジュールです。ユーザーが言語よりもデータ形式を教える方が簡単です。 – zwer
これを反映するために私の質問を少し編集しましたが(うまくいけば分かりますが)、ユーザーはすべてnewEntry()関数内に入力したいデータを配置するだけです。それは小さなグループのためであり、すべてのユーザーは技術的に有能な人です – LosOsos