くだすれPython(超初心者用) その18at TECH
くだすれPython(超初心者用) その18 - 暇つぶし2ch41:デフォルトの名無しさん
13/08/11 16:58:16.29
>>39
open('zap','w').write('ooo'*10000)
for i in range(1000*100):
open('zap','r').read()

うちではこのスクリプト走らせても全くワーキングセット増えず
too many open files関連のエラーにもならないし
デバグビルド版のREPL立ち上げてopen().read()やっても
リファレンスカウントが全く増加しないのが確認できるんだけど、どんな環境?

42:デフォルトの名無しさん
13/08/11 17:48:46.21
>>40
一行でやること前提の話題だと思ってるんでwithは却下

43:デフォルトの名無しさん
13/08/11 17:49:34.82
Pythonスレでインデントのないコードを見るのも悲しいし
脳内インデントしろやとかnbspつけろやゴラアというのも違う気がするので
コードペーストサイトを使う方向にならないかなーと密かに今願い始めた

44:デフォルトの名無しさん
13/08/11 18:10:53.66
たわいのないコード片を pastebin にわざわざ読みにいくのは嫌

45:デフォルトの名無しさん
13/08/12 16:24:08.75
for i in xrange(n):
    pass

46:デフォルトの名無しさん
13/08/12 18:14:00.16
ム板のくせに文字参照が使えない悲劇

47:デフォルトの名無しさん
13/08/12 18:41:36.94
for i in xrange(n):
    pass

48:デフォルトの名無しさん
13/08/12 19:30:35.13
以前は、つかえてた

49:デフォルトの名無しさん
13/08/12 19:34:11.16
 

‌|zwnj
 |thinsp
 |nbsp
 |ensp
 |emsp

‌|8204
 |8201
 |8198
 |8197
 |8196
 |160
 |8194
 |8199
 |12288
 |8195

50:デフォルトの名無しさん
13/08/12 21:27:28.79
>>47
テスト

51:デフォルトの名無しさん
13/08/14 18:36:20.94
a = ['佐々木希', 168, 80, 58, 82]
というリストがあるとき、a[0]とa[2]をとりだして
['佐々木希', 80]
とするにはどうすれば良いでしょうか。
a[0,2]はだめでした。

52:デフォルトの名無しさん
13/08/14 18:40:00.32
>>51はa[0:3:2]でいけますね。

質問を訂正します。
a[0]とa[2]とa[3]を取り出して、
['佐々木希', 80,58]
とする方法はないでしょうか?

53:デフォルトの名無しさん
13/08/14 18:55:42.07
[a[0], a[2], a[3]]
この場合は辞書使って {'name': '佐々木希', 'height': 168, ...} とかしたほうがいいかも

54:デフォルトの名無しさん
13/08/14 19:26:51.17
>>53
ありがとうございます。スライスの処理にとらわれて、気がつきませんでした。

55:デフォルトの名無しさん
13/08/14 21:44:40.48
ひさしぶりにゆとりってかんじ

56:デフォルトの名無しさん
13/08/15 14:56:26.95
pythonから外部コマンドを「&」付き(バックグラウンド)で実行した場合
その実行したコマンドは放置して、python自体は終了したいのですが
どうしたらいいでしょうか。

ご教授ください。

57:デフォルトの名無しさん
13/08/15 22:56:54.60
>>56
Python固有じゃないけど、nohupコマンドをかます。

58:56
13/08/16 10:25:34.34
def loopThread()
print "th start."
os.system("/bin/bash /usr/local/org/hoge.sh &")
print "th end."
exit
if __name__=='__main__':
print "start."
thread.start_new_thread(loopThread)
print "end."

物凄く端折っていますけど、こんな感じでPython側からshを叩いてます
hoge.sh自体も中身で

while :;do
logger -p user.notice "hogehoge";
sleep 10;
done;

とし、ループしています。

59:56
13/08/16 10:31:16.03
やりたいことは以下です。

①python側より、特定の引数にて、ループ状のshを実行したい
②実行されたループ状のshは1プロセスとして実行したい

上記ソースだと、os.systemで実行したプログラムが終了しないと
作成したスレッドが終了せず、後続の処理が行われない

os.systemで流した場合は、ps-auxで確認する限り、別プロセスとして稼動していますが
やはり、スレッド内で実行したプロセスが全て終わらないと親スレッド自体が終了できず、後続の処理が出来ない

class test(threading.Thread): でループ状の処理を作って、スレッド作成した場合は
親プロセス内で、実行したいコマンドが動作しているので? 親スレッドが終わってしまうと子も死んでしまう

60:56
13/08/16 10:36:48.86
イメージです。
+-+
|親|←こいつは終了しない
+-+
 | +-+
 +-|子|←親に特定の要求をするとthとして生成される
   +-+
    | +-+
    +-|孫|←孫が自分の中でos.system等で外部コマンドをnohup且つbgでshを起動する
      +-+
この後、孫は終了し、子に戻り、子も終了する。

61:56
13/08/16 10:38:01.51
何度も連投すみません

子の中で外部コマンドを実行して、子が終了し
孫的な外部コマンドは別プロセス(pid)を持った状態で放置したいのです


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch