補足4:
google cloud shell上で以下を叩くと正常に処理され
outputファイルがfindingへ瞬時に移動します。
mv output*.txt finding/
しかしそうではなくpyファイルで上記コマンドを叩き正常に処理させたいです。
mvコマンドにワイルドカードが含まれる文字列を渡しても解釈できない制限があるので、
mvにこだわってるつもりはありません。
outputとついたtxtをfindingに移動させる事が要件です。※ただしpyファイル内に実装
補足3:
答えらしきものが書いてあるのに知識が乏しく理解ができません。
https://qiita.com/miyagey/items/4d8e0e531569c49132c3
補足2:
import glob import subprocess cmd="mv " + ' '.join(glob.glob("*.txt")) + " finding/" print(cmd) subprocess.call(cmd)
上記もエラーが発生しています。
Traceback (most recent call last): File "xx.py", line 84, in <module> subprocess.call(cmd) File "/usr/local/lib/python3.7/subprocess.py", line 323, in call with Popen(*popenargs, **kwargs) as p: File "/usr/local/lib/python3.7/subprocess.py", line 775, in __init__ restore_signals, start_new_session) File "/usr/local/lib/python3.7/subprocess.py", line 1522, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'mv output2.txt output19.txt 以下省略utput43.txt finding/
補足1:
subprocess.call(cmdresult.split(), shell=True)
上記はエラーmv: missing file operandが発生してます。
環境googlecloudshell
お世話になります。
sample.pyというpythonファイルを実行して以下3つのファイルを一度にfindingの中に移動したいです。
output1.txt
output2.txt
output3.txt
findingは現在のディレクトリに作られたフォルダです。
現在のカレントディレクトリ構成
output1.txt
output2.txt
output3.txt
finding(フォルダ)
#ためしたこと
sample.py
import subprocess print('全てのoutputxxxx.txtをfindingへ移動') cmdresult = "mv output*.txt finding/" subprocess.call(cmdresult.split())
#エラー
mv: cannot stat 'output*.txt': No such file or directory
なお、ディレクトリは間違いない事、outputファイルは3つ以上ある事を確認しています。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/08/30 11:07
退会済みユーザー
2019/08/30 11:10