Q&A
2回答
4491閲覧
総合スコア23
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
0グッド
0クリップ
投稿2015/10/23 07:57
0
以下のようにCSV形式でファイル名とファイルが存在するディレクトリまでのパスの一覧があります.
path.txt 001,/~/~/001.txt 003,/~/~/003.txt 012,/~/~/012.txt
これを利用してこの一覧にあるファイルをtargetフォルダに移動あるいはコピーしたいのですが, どのように書いたらよいでしょうか. ファイルの存在するディレクトリ階層は一番上の親は同じでそれ以下は分岐していきます.
詳しく解説していただけるとありがたいです.
#python
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答2件
シェルスクリプトで書くほうが楽との回答も有りまして、私もそうだと思うのですが、 ど~しても python で処理したいということでしたら、 shutil が使えるかと思います。 http://docs.python.jp/2/library/shutil.html
python1import shutil 2import os.path 3 4target = "target_folder_name/" #ターゲットフォルダ名の指定 5for l in open("path.txt").readlines(): #path.txt から1行ずつ読み込んで処理 6 dst,src=l.rstrip().split(",") #ファイル名の一部(拡張子なし)とファイル名のフルパスを dst,srcへ 7 dst=target+dst #ファイル名にコピー先のフォルダ名を付加 8 dst+=os.path.splitext(src) #ファイル名のフルパスから拡張子を拝借(拡張子が不要ならこの行は不要 9 shutil.copy(src,dst)
python
1import shutil 2import os.path 3 4target = "target_folder_name/" #ターゲットフォルダ名の指定 5for l in open("path.txt").readlines(): #path.txt から1行ずつ読み込んで処理 6 dst,src=l.rstrip().split(",") #ファイル名の一部(拡張子なし)とファイル名のフルパスを dst,srcへ 7 dst=target+dst #ファイル名にコピー先のフォルダ名を付加 8 dst+=os.path.splitext(src) #ファイル名のフルパスから拡張子を拝借(拡張子が不要ならこの行は不要 9 shutil.copy(src,dst)
投稿2015/11/25 07:42
総合スコア902
ファイル名とファイルが存在するディレクトリまでのパスの一覧があります. と質問文にお書きですが、サンプルを見ると、 「ファイル名の一部と、ファイル名のフルパスの一覧」 にしか見えません。
どちらが正しいのでしょうか?
コメントを見ての回答追記: Pythonタグが付いていますが、こういうのは、シェルスクリプトで書くのが楽です。
Bash1while read line 2do cp ${line%*,} target #行のカンマ以前を削除したものをファイル名としてコピー 3done < path.txt
Bash
1while read line 2do cp ${line%*,} target #行のカンマ以前を削除したものをファイル名としてコピー 3done < path.txt
投稿2015/10/23 09:58
総合スコア86492
回答へのコメント
2015/10/23 10:07
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
パス一覧を利用したファイルのコピー(移動)