忙しい現代人の腰&肩のお悩み対策!

python3によるプログラミング

プログラミング初心者です。
①ディレクトリにそれぞれ「01.txt」「02.txt」「03.txt」があり、txtの名前だけ拾って「01.sh」「02.sh」「03.sh」を作成
②それぞれのshの中に、数字を記載させる(01.shならば01と書き込みたい)
プログラムを作りたいのですが、どのように書くのがオススメでしょうか?

A 回答 (1件)

https://docs.python.org/ja/3/library/os.html?hig …
https://docs.python.org/ja/3/library/os.html?hig …
https://docs.python.org/ja/3/library/pathlib.html
あたりを使って、ファイル一覧を取得する

書き込むシェルスクリプトを文字列として作成する。
その際に、ファイル名の一部を抜き出して文字列に埋め込む(正規表現モジュールreを使う等)

https://docs.python.org/ja/3/library/functions.h …
等で文字列をファイルに書き出す

という流れになるでしょう。



ただ、スクリプトの内容にもよりますが、私なら次のどれかにします。
○シェルスクリプトは1つだけにして、ファイルを引数として指定して、その引数から「01」等を抜き出す。
変数に入ったファイル名から本体部分だけ取り出す方法は、検索すれば見つかります。
01.sh

nanka1.sh 01.txt
○上記 + ファイルを複数指定できるようにする
nanka2.sh *.txt
○上記のファイル指定をシェルスクリプト内でやってしまう
nanka3.sh

○全部Pythonでやってしまう。
    • good
    • 0
この回答へのお礼

出来ました、ありがとうございます

お礼日時:2019/03/17 22:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qプログラミングについてです。 はじめまして。お読みいただきありがとうございます。僕はプログラミングを

プログラミングについてです。

 はじめまして。お読みいただきありがとうございます。僕はプログラミングを勉強しているのですが、壁にぶつかってしまって困っています。
 元々IT関係のことが好きで、スマホやパソコンやガジェット、ブロックチェーンなどのことを調べていくうちにプログラミングをしてみようと思って今に至ります。
 本やサイトで学んでも文法ばかりでどうすればいいかわからなくなり、調べると、
「つくりたいものをまず見つけるといい。」
と書いてあったのですが、作りたいものといっても思い付いたものはすべてアプリストアにあったり(基本的にはLINEみたいないろんな人の役に立つアプリがつくりたいです。)、OSやAIなど今の自分には作れそうにないものばかり…
 そんなこんなで始めて数ヵ月になります。
 不便なことを探して改善といっても、特に不便なことはないと感じています。(具体的にどういうことかがわかりません。)
 プログラミングが楽しくないというわけではなく、バグが直ったり、自分なりのやり方でできたときは喜びを感じます。
 数ヵ月もしてなにもできないということは向いていないのかな?とも感じています。
 
 長くなりましたが、上記のようなところを考えておすすめの勉強法や、つくりたいものの見つけ方などを教えてほしいです。

プログラミングについてです。

 はじめまして。お読みいただきありがとうございます。僕はプログラミングを勉強しているのですが、壁にぶつかってしまって困っています。
 元々IT関係のことが好きで、スマホやパソコンやガジェット、ブロックチェーンなどのことを調べていくうちにプログラミングをしてみようと思って今に至ります。
 本やサイトで学んでも文法ばかりでどうすればいいかわからなくなり、調べると、
「つくりたいものをまず見つけるといい。」
と書いてあったのですが、作りたいものといっても...続きを読む

Aベストアンサー

>「つくりたいものをまず見つけるといい。」
 理屈ばかり勉強していてもこれは退屈で飽きてしまうのは目に見えている。
 世間に公開するほどでなくても、作って良かったと思えるモノを作れるとそれは楽しいし自分への励みにもなる。

>作りたいものといっても思い付いたものはすべてアプリストアにあったり
 この辺はプログラム初心者がみてしまうと絶望感を抱くというか、せっかく本人なりに苦労して開発してもすでに無償ソフト(フリーソフト)として公開されていたりすると、「このフリーソフトに勝てる気がしない」とか複雑な思いを抱きます。

 この辺の事情はさらに勉強に励んでひたすら改良を繰り返してよりよいモノに改善していくか、別のアプリ開発にも挑戦してみてジャンルの幅を広げてみるか。

 IT技術というとWEBを連想しますが、すでにWEB関連の技術者はかなりひしめき合っていると思うので、余裕があるなら今後のめぼしい技術としてIoT関連技術にも首を突っ込んでおくとヨイかもしれません。

 実践あるのみ・・・と思っているのでなにかマイコンで電子工作をしてみるとかですね。

>
KKHMF Mini USB Nano V3.0 ATmega328P CH340G 5V 16M マイクロコントローラーボード モジュールArduinoと互換
https://www.amazon.co.jp/KKHMF-ATmega328P-CH340G-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%ABArduino%E3%81%A8%E4%BA%92%E6%8F%9B/dp/B073CHKMB2/ref=sr_1_10?ie=UTF8&qid=1551533368&sr=8-10&keywords=arduino+nano


>Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Clear)-Physical Computing Lab
https://www.amazon.co.jp/Raspberry-%E3%83%9C%E3%83%BC%E3%83%89%EF%BC%86%E3%82%B1%E3%83%BC%E3%82%B9%E3%82%BB%E3%83%83%E3%83%88-Physical-Computing-Lab/dp/B01CSFZ4JG/ref=sr_1_10?ie=UTF8&qid=1551533423&sr=8-10&keywords=%E3%83%A9%E3%82%BA%E3%83%99%E3%83%AA%E3%83%BC%E3%83%91%E3%82%A4

 個人的には学習用マイコン ラズベリーパイがお薦めですが、必要開発機材を一式そろえようとすると1万円の費用が掛かるので無理なら格安で提供されているArduinoをいじってみるのもおもしろいと思います。

>「つくりたいものをまず見つけるといい。」
 理屈ばかり勉強していてもこれは退屈で飽きてしまうのは目に見えている。
 世間に公開するほどでなくても、作って良かったと思えるモノを作れるとそれは楽しいし自分への励みにもなる。

>作りたいものといっても思い付いたものはすべてアプリストアにあったり
 この辺はプログラム初心者がみてしまうと絶望感を抱くというか、せっかく本人なりに苦労して開発してもすでに無償ソフト(フリーソフト)として公開されていたりすると、「このフリーソフトに勝てる気...続きを読む

Qpythonのデータ型に組み込み型があると思いますが、なぜ組み込み型と呼ぶのでしょう? なにが何に組

pythonのデータ型に組み込み型があると思いますが、なぜ組み込み型と呼ぶのでしょう?
なにが何に組み込まれているのでしょう?
オブジェクトにデータ型が組み込まれているという意味でしょうか?

Aベストアンサー

型が言語に組み込まれている。
https://docs.python.org/ja/3/library/stdtypes.html

クラス型なんかは組み込み型や他のクラス型の組合せでPythonプログラム上で定義できるけど、組み込み型が何もなかったらクラス型の定義もできないですから。

QC#について質問【複数の.datファイルからデータを取得後csvファイルでリストを作成】

いつもお世話になります。
複数の.datファイル(カンマ区切りの4~5列、約800行程度)
ProcessData,LOT_ID,3,AP0076686.00C,
ProcessData,LOT_ID_SUB,3,AP0076686.00,
ProcessData,LOT_NO,3,AP0076686,
ProcessData,WAFER_ID,3,AP0076686.19,
ProcessData,WAFER_NO,1,19,
ProcessData,PRODSPEC_ID,3,T5DH20001-00001.00,
ProcessData,PRODGRP_ID,3,T5DH2,
ProcessData,PRODGRP_BIND,3,T5DH2,
ProcessData,MAIN_MAINPD_ID,3,A6L511NY.00,
ProcessData,MAINPD_ID,3,A6L511NY.00,
ProcessData,FLOW_TYPE,3,Main,
ProcessData,FLOW_TYPE_NO,1,1,
ProcessData,D_SEQNO,1,169,
ProcessData,OP_NO,3,PNH PEP.MA1,
ProcessData,OP_NO_NAME,3,本処理,
ProcessData,PD_IDENT,3,PPNHIMA1.00,
ProcessData,PD_IDENT_NAME,3,PEP,
ProcessData,EQP_GROUP_CODE,3,PKRF,
ProcessData,EQP_GROUP_NAME,3,KrF SCANNER(SK3000 + ES5),
ProcessData,EQP_GROUP_BIND,3,PKRF,
ProcessData,EQP_ID,3,PKRF004,
ProcessData,PH_RECIPE_ID,3,PES5MIX,
ProcessData,RCP_NAME_SPACE,3,PEPMA,
ProcessData,LC_RECIPE_ID,3,PKRF.01,
ProcessData,RECIPE_ID,3,PEPMA.PES5MIX,
ProcessData,S_DATE,4,2019/01/24 12:47:09,
ProcessData,E_DATE,4,2019/01/24 12:47:51,
ProcessData,CAST_ID,3,PA0-00349,
ProcessData,SLOT_NO,1,19,

の中からSplitを用いて string[]dataTemp = fileData.Split(',');で
(ProcessData[0],EQP_ID[1],3[2],PKRF004[3],)のように配列に格納して
ifを使ってdataTemp[1] == "EQP_ID"の時にdataTemp[3](PKRF004)を
    dataTemp[1] == "LOT_ID"の時にdataTemp[3] (AP0076686.00C)を
    dataTemp[1] == "WAFER_ID"の時にdataTemp[3] (AP0076686.19)を
dataTemp[1] == "S_DATE"の時にdataTemp[3](2019/01/24 12:47:09)を
新たにCSVファイルを作成して上記のデータを入力したリストを作りたいのですが、C#初心者で
色々と試行錯誤しましたが知識が足りないようです。。。。


リストについてはヘッダーなどは必要ありません。.datが大量にあるので一列にEQP_ID、LOT_ID、WAFER_ID、S_DATEが並んだ状態で何100行とある状態リストを作成したいです。

詳しい方ご教授をお願いいたします。

いつもお世話になります。
複数の.datファイル(カンマ区切りの4~5列、約800行程度)
ProcessData,LOT_ID,3,AP0076686.00C,
ProcessData,LOT_ID_SUB,3,AP0076686.00,
ProcessData,LOT_NO,3,AP0076686,
ProcessData,WAFER_ID,3,AP0076686.19,
ProcessData,WAFER_NO,1,19,
ProcessData,PRODSPEC_ID,3,T5DH20001-00001.00,
ProcessData,PRODGRP_ID,3,T5DH2,
ProcessData,PRODGRP_BIND,3,T5DH2,
ProcessData,MAIN_MAINPD_ID,3,A6L511NY.00,
ProcessData,MAINPD_ID,3,A6L511NY.00,
ProcessData,FLOW_TYP...続きを読む

Aベストアンサー

質問内容が多岐に渡ってきているため、どこまで出来て、どこが出来ないのか、を整理して、
改めて質問を行うことをお勧めします。

今できないのは、元の質問内容ではなく、それぞれのロジックの書き方を理解していませんよね。
C#の文法。
対象ディレクトリ内のファイルの一覧を得るにはどうすればいいのか。
ファイルの読み込み、書き出しをするにはどうすればいいのか。
繰り返し処理するにはどうすればいいのか。
など。

最終目的を質問しても、誰も正解は教えてくれませんし、ネットには正解は転がっていません。
知識、情報を組み合わせて正解を作り上げるので。

そのため、実現するためのプロセスを細分化し、プロセス単位に方法論をネットで調べるとか、質問するとかになると思います。

Q関数によって、MAX_PATHの値が異なる理由を教えてください。

MAX_PATHは260固定なのに、関数によって異なる理由を教えてください。

CreateFileは259文字まで、それ以上は関数が失敗します。
MakeSureDirectoryPathExistsは248文字まで、それ以上は関数が失敗します。
renameは220文字まで、それ以上は関数が失敗します。

Aベストアンサー

昔のファイルシステム(FAT)ではパス名の最長が255文字に制限されていました。
それに、ドライブレター等(C:¥)3文字とファイル名(8+3)の間のピリオド1文字で
255+3+1=259文字が最長パスです。
さらに、C言語で作成されたライブラリでは、
文字列の末尾にはNull文字(0x00)を付ける約束になっています。
それを含めて、MAX_PATH=260 となっています。
今どきのファイルシステム(NTFS)とはかなり違いますよね。
そんな訳で、時代とともに移り変わるシステムの中身が、
統一が取れているはずと思う方がおかしい。

Q程度の低い質問で申し訳ないのですが、この写真の図3.15のアセンブラコードがよく分からないです。図の

程度の低い質問で申し訳ないのですが、この写真の図3.15のアセンブラコードがよく分からないです。図の左の説明のように簡単な配列を扱うアセンブラコードみたいなんですが、永遠にL1とL2を繰り返すだけのように思えるのですが、どういう順序で処理が行われるか教えてください。

Aベストアンサー

誤植でしょ。
このままだとL2の行が意味不明すぎです。

L1の位置がBRLTの行、L2がSTOREXの行だと思います。

Qプログラムの在宅請負業務ができるようになるまで、どのくらいの期間?

プログラミングの初歩的な事も分からず、プログラミングが全く未経験の人間が、これからプログラムを独学で学んで、プログラムの在宅請負業務ができるようになるまで、どのくらいの期間が掛かると思いますか?

Aベストアンサー

プログラミングが全く未経験の人間が独学で学んだとして、それなりにプログラムができるようになるまで10年くらいでしょうか?それから在宅請負業務ができるまで、さらに5~10年くらいかなあ?

実際問題として、独学で学んだ開発実績ゼロなプログラマに、会社は仕事の依頼はしないでしょう。

Qこれからプログラミングを学ぼうと思っているのですが調べてみるとプログラミング言語も学習用の書籍もホー

これからプログラミングを学ぼうと思っているのですが調べてみるとプログラミング言語も学習用の書籍もホームページやアプリも沢山あってどれが本当に良いのかよくわかりませんでした。
みなさんのオススメを教えてください。

Aベストアンサー

「ヒューマン・リソース・マシーン」に一票。(ただし、関数の概念がないのでそこが減点)

あとは俺が好きだった本
https://www.amazon.co.jp/dp/4000077511
https://www.amazon.co.jp/product-reviews/479803925X

手続き型言語なら言語は何でもいいかな…。

Qプログラミングに興味があります。 僕の勝手な考えですが、今配信されていないClipbox がインスト

プログラミングに興味があります。

僕の勝手な考えですが、今配信されていないClipbox
がインストールされている端末のClipboxの情報を
Clipboxがインストールされていない端末に移動(コピー)すればインストールされていなかった端末でもClipboxが使えるようになるのではないかと思っているのですが、
できないですかね。


(まだなんの知識もなく、プログラミングを勉強するつもりなので出来るようであればやってみたいなと思っています。)

Aベストアンサー

それとプログラミングにいったい何の関係があるのかって言うのは疑問ですが、アプリをコピーできれば使えるようになるってのはその通りです。そのためのアプリも実はすでにあったりします。

Qスーパーハッカーやホワイトハッカーが未だにプログラムをキーボードを使ってアナログな入力を10年前と変

スーパーハッカーやホワイトハッカーが未だにプログラムをキーボードを使ってアナログな入力を10年前と変わらずに未だにガチガチキーパンチャーしてるのって一般人から見たら超絶ダサいらしいですよ。

マツコデラックスがスーパーハッカーがプログラムをキーボードで打っていたのを見て「まだキーボードで打ってるんだ。人工知能や音声を文字化出来るようになってるのに10年前と変わらずキーボードで打ってるの?!」と言っていましたが、本当にそうだなと思いました。

未だにキーボードでプログラミングしてるって古くさいというか自動化、自動化と言ってる割にプログラマーが1番アナログだったりして。

Aベストアンサー

それは普通の文章入力しか想像できない人の発想ですね。

プログラミング言語では記号を多用しますが、これをいちいちダブルコーテーションだのアットマークだの言うのは手間だし、実は記号じゃなくてダブルコーテーションは”じゃなくそのままダブルコーテーションっていう文字列にしたかったんだけど…みたいな区別に困ることもあります。その辺をきれいに解決する手段が今のところないってこと、また「キーボード入力の方が話すよりも速くてしかも正確に入力できる」と言う事実があること、またいちいち口に出すと言うことは意外に労力を要すること、といった事情から音声認識でどうにかしようという空気にならないのでしょう。

Qプログラミングで、javaかrubyをやるならどっちの方がいいでしょうか?

プログラミングで、javaかrubyをやるならどっちの方がいいでしょうか?

Aベストアンサー

まず簡単なRubyから初めてプログラミングを楽しんだ方が良い気もします
どちらか迷ってるなら結局はいつかは両方やると思いますよ


人気Q&Aランキング