Colorful Bullet's Blog

つーちゃ個人のブログ。人生に彩りって大事だと思うんだ。

Windows環境ではPythonの管理者権限が必要なcmdは実行できない

time 2019/11/29

タイトルの通りです。
初の投稿が個人的技術メモになってしまうとは。

今現場に出てPythonで便利ツールを作る作業に勤しんでいるのですが、とある問題に出くわしました。

問題点:
Python上からsubprocessを呼び出しTreasureData用のSQLを実行させようとした際に、ローカルのファイルを指定できない

import subprocess
cp = subprocess.run("td query -w -r -d {データベース} -q C://Users//{ユーザー名}//hoge//hoge.sql,shell=True<br>

ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

まじかよ。

解決策:
windowsのバッチファイルを動的になり生成し、そのバッチ内で上記コマンドを実行させるほかない。
つまり、

td query -w -r -d {データベース} -q C://Users//{ユーザー名}//hoge//hoge.sql

とかにして、

import subprocess
cp = subprocess.run(exec.bat,shell=True)

としなければならないようだ。
Macならsu-とかで実行できるんだろうに!!

他に対策あれば教えてください!

sponsored link

down

コメントする




自己紹介

つーちゃ

株式会社なうろーでぃんぐ代表取締役。 趣味が広すぎるオタク。自転車、車、キャンプ、サバゲー、ゲーム、料理、レザークラフトなど趣味を広げ続けるおじさん。

最近のコメント

    

    sponsored link