• ベストアンサー

Pythonで本ススクリプト内で別スクリプトを実行

Proof4の回答

  • ベストアンサー
  • Proof4
  • ベストアンサー率78% (151/192)
回答No.1

もし本スクリプトをPython2で書いているのなら、スクリプトAをimportして関数やメソッドとして呼び出せばよいです。しかし、この質問をしたということはおそらく本スクリプトをPython3で書かれていることでしょう。 スクリプトAに対して引数を - コマンドライン引数として渡すのか - 関数・メソッド呼び出しの引数として渡すのか によって手数が変わります。いずれにせよ最終的にコマンドライン引数としてスクリプトAに引数を渡せるようにしたうえで、subprocessを利用すると実行できます。 コマンドライン引数としてスクリプトAに引数を渡せるようにする場合の例として、Python2でスクリプトAをラップするスクリプトA´を新たに作成する方法が考えられます。具体的にはコマンドラインから引数を受け取り、その引数をスクリプトAに渡して実行するものです。 subprocessを使って実行する場合の記述は次のような雰囲気になるでしょう。 subprocess.run([python2のパス, スクリプトA´, 引数1, 引数2]) 詳細な利用方法については公式ドキュメントをご覧ください↓ https://docs.python.org/ja/3/library/subprocess.html

piyo-maru7
質問者

お礼

返信が遅れてすみません。おっしゃるとおりで本スクリプトはPython3です。教えていただいた箇所ですが、正直違いが理解できませんでした。ただsubprocessを使って実行するということだけ分かっただけでも良かったです。 結局拾ってきたスクリプトでは文字コードの問題でうまくいかず、全く別の方法で処理しました。一応スクリプトのはじめにUTF-8のおまじないなんかも試しましたがだめでしたので。 ありがとうございました。

関連するQ&A

  • [es]でpython2.5のファイル実行

    PythonCEのPython2.5を[es]にインストールしました。対話モードでは使えているのですが、作成したスクリプトファイルを実行する方法がわからなくて困っています。コマンドラインから >>>python ファイ名.py としても実行されません。 作成したスクリプトファイルを実行する方法を教えてください。 よろしくお願いします。

  • ターミナルにおけるPythonスクリプトの実行方法

    ターミナルにおいて、Pythonで書いたスクリプトを実行したいです。 手始めに、有名な print"Hello,World"を試してみました。対話型では成功したのですが、 「python プログラム名」の方法では失敗してしまいます。 そのとき、「syntax error」と表示されてしまいます。 全くの素人のため、自分で調べてもさっぱり分かりませんでした。 どうしたらスクリプトを正しく実行することができるのか、教えてください。よろしくお願いします。 環境:imac,mac osx

    • 締切済み
    • Mac
  • [python]スクリプトから起動できない

    pythonで、右クリック→プログラムから開く→pythonでpythonの スクリプトファイルを実行できるじゃないですか。 で、この時、ひらいてすぐウィンドウがとじてしまう場合とそのまま実行できる場合があるんです。 なぜでしょう?コーデックのエラーでしょうか・・・

  • プログラム初心者です。unix上でのpythonについて

    unix環境でpythonを動かしているんですが、pythonの実行は python スクリプトファイル名.py でRETURNを押せばできるのはわかっているのですが、pythonを取り除いてスクリプトファイル名だけの入力で実行するようにしたいんです。 誰かご教授願えませんか?

  • Pythonスクリプト実行について質問です。

    YouTubeに360度動画をアップロードしたい為、Pythonスクリプト実行について質問です。 質問サイトを利用するのが始めてですので、質問の仕方が不適切、失礼でしたら申し訳ございません。 こちらPythonについてド素人です。 下記のサイトを参考に作業を進めておりまして思うようにいきません。 https://support.google.com/youtube/answer/6178631?hl=ja http://weekly.ascii.jp/elem/000/000/315/315130/ 360度動画再生を有効にするため、メタデータを追加するためのスクリプトを実行する方法です。 MacのBoot CampでWindows7にて作業をしております。 上記のサイトにならって、Python 2.7.9をインストールし、システムの環境設定でPathもとおしました。 Cドライブの直下に360-Videos-Metadataフォルダを配置し、その中に360VideosMetadata.py、変換したい映像ファイル「test.mp4」を入れております。 コマンドプロントでC:\360-Video-Metadateにアクセスし、360videosmetadata.py -i test.mp4 test_new.mp4を入力し実行したのですが、 File "C:\360-Video-Metadate\360VideosMetadata.py", line 4 <!DOCTYPE html> SyntaxErro: invalid syntax と言うエラーが出ます。 どうしたら作成する事が出来るでしょうか? サイトにならって進めてるつもりなのですが、何か根本的に間違っていれば、ご指摘いただければと思います。 通常Macユーザーでして、Macでの方法も全くわからない状態ですので、よろしければMacでの方法も教えていただけると、ものすごく助かります。 Windows7でのやり方のみでも助かります。 よろしくお願いいたします!!

  • Pythonのプログラムの実行の考え方について

    pythonの教科書のサンプルの実行についてお尋ねします。 テキストのサンプルには普通、インタープリターで書いてあるものと、プログラムをファイルに書き出してそれをコマンドで一気に処理するもの(こちらの方が他の言語の実行に近いか)の2通りがあります。 インタープリター向きに記述されたものをファイルに書き出してpythonコマンドで、インタープリターと同じように実行するにはどのような書き換えが必要になるのでしょうか。結果を出力するときにインタープリターでは配列名を入力するだけでその内容が出力されたりしますが、ファイルではそれができないのでコマンドを指定するとかになると思いますが、他になにかあるでしょうか。 ファイルに書き出したプログラムの実行ですが、Pythonコマンドを実行しても実行形式の出力がないのでコンパイルではないわけですが、これはバッチとかシェルスクリプトと同じような意味になるのでしょうか。1行1行実行していくということですが。とするとインタープリターと同じになるのかなと思うのですが。 実行形式が単体のファイルとして出力されて単体として実行できるというのは従来のプログラム(C,Fortranなど)ですが、Pythonはそれがないわけですね。Ruby, Perlに近いものなのでしょうか。速度が求められる科学技術計算ではライブラリを導入して高速化できるということですが、どの程度かなと思いますが。その中間的なものがJavaなのかなと思いますが(半分実行ファイルみたな)。 たぶんベタな質問と思いますが、よろしくお願いします。

  • PHP シェルスクリプト 引数

    失礼します。現在PHPからシェルスクリプトを引数を付けて実行し、戻り値で確認が出来るか試しているのですがなかなか参考になる記事がなく実現が出来ない状態です 調べたところ、 phpからhoge.shというシェルファイルをargという引数で実行したいとします。 引数を"'. .'"で囲う事で、引数を渡せるようです。 $output = shell_exec('/bin/sh /path/to/hoge.sh "'.$arg.'"') var_dump($output) 上記のような記事を見つけたのですがhoge.shはどのように$argを受け取り、戻り値を渡しているのでしょうか?また、$argの値の中身は渡す引数の内容という認識で正しいのでしょうか?サンプルコードなどがあるとうれしいです。 ご教授よろしくお願い致します。

  • MacでPython スクリプトファイルの実行

    自分はMacユーザです。 プログラミングに興味があったので Python2.6のインストールと入門書の購入をしました。 スクリプトファイルの実行をしたいのですが、やり方がわかりません。 Macにあるテキストエディタで print "hello" と入力して、test.pyという名前でデスクトップに保存しました。 購入した本には「LinuxやMac OS Xであれば、シェルからコマンドを入力します。」と記されています。 そもそもシェルの意味が分かりません。。。 「python test.py」と入力とも書いてあるのですが、どこに書くのでしょうか。。 ネットで簡単に調べてみたのですが、いまいち分かりません。 初心者なので、分かりやすく回答して頂けるとありがたいです。 どうか、よろしくお願いします。

  • プログラム初心者です。unix上でのpythonについて

    まだプログラム初心者な上に、unix上でpythonを扱うことになりまして、わからないことができたので質問させてもらいます。 unix上でpythonを実行させるときは、普段 python スクリプト名.py でRETURNを押せばできるがこれをpythonを省略して、スクリプト名.pyだけで実行できるようにするにはどうせればいいか教えてください。

  • PERLスクリプトのコマンドライン実行

    お世話になります。 Perlスクリプトをコマンドライン実行するとき、 perl スクリプト名.pl とすると思いますが、その際、コマンドライン引数を渡してスクリプト内で、その引数を見て処理したいと思うのですが、そういうことできますか?引数の渡し方、受け取り方を教えてください。

    • ベストアンサー
    • Perl