普段の生活の中から大好きなパソコンや植物のことなどを書いています 最近ではyoutubeにも動画をアップしていますのでよかったらみてくださいませm(_ _)m https://www.youtube.com/user/xtoran1
python3で畑で使う施肥量計算機ちょっとつくってみた
#!/usr/bin/python
# -*- coding: utf-8 -*-
#施肥量計算
class Sehi:
def __init__(self,kg,N,P,K):
self.kg = kg
self.N = int(N)*10
self.P = int(P)*10
self.K = int(K)*10
def seibunryou(self):
seibunryou_N = int(self.kg) * int(self.N)
seibunryou_P = int(self.kg) * int(self.P)
seibunryou_K = int(self.kg) * int(self.K)
print("一袋あたり"+ "(N)"+ str(seibunryou_N)+"g"+"(P)"+str(seibunryou_P)+"g"+"(K)"+str(seibunryou_K)+"g")
#施肥データ
class Yasai:
def __init__(self,name,hasyu,uetsuke,sehin,sehip,sehik,oigoe):
self.name = name
self.hasyu = hasyu
self.uetsuke = uetsuke
self.sehin = sehin
self.sehip = sehip
self.sehik = sehik
self.oigoe = oigoe
def yasai_data_load(self):
print("******************************************")
print("品名: "+ self.name)
print("播種時期: "+ self.hasyu)
print("植え付け時期: "+ self.uetsuke)
print("施肥量(N)(kg/10a): "+ str(self.sehin))
print("施肥量(P)(kg/10a): "+ str(self.sehip))
print("施肥量(K)(kg/10a): "+ str(self.sehik))
print("追肥の目安(npk)(kg/10a): "+ self.oigoe)
def m_change(self):
mcn = int(self.sehin)/10
mcp = int(self.sehip)/10
mck = int(self.sehik)/10
print("******************************************")
print("1rあたりの施肥量は")
print("N: "+ str(mcn)+ "kg")
print("P: "+ str(mcp)+ "kg")
print("K: "+ str(mck)+ "kg")
kabocya = Yasai("かぼちゃ","3月下旬","4月下旬",15,15,15,"20 10 15")
kyuri = Yasai("きゅうり","5月上旬","5月下旬",30,30,30,"20 0 10")
suika = Yasai("すいか","4月中旬","6月中旬",10,10,10,"10 5 5")
meron = Yasai("メロン","3月上旬","4月上旬",15,20,15,"- - -")
tomato = Yasai("トマト","3月中旬","5月中旬",15,25,10,"15 0 10")
piman = Yasai("ピーマン","2月上旬","4月中旬",25,25,20,"20 20 15")
ichigonae = Yasai("イチゴ苗床","7月上旬","-",1,3,2,"(kg/a)")
ichigo = Yasai("イチゴ","7月上旬","9月上旬",15,20,20,"10 5 5")
nasu = Yasai("なす","3月上旬","5月中旬",30,30,30,"15 10 15")
okura = Yasai("オクラ","2月上旬","3月下旬",30,30,30,"15 10 15")
nira = Yasai("にら","12月上旬","4月上旬",12,25,15,"30 0 19")
miendou = Yasai("実えんどう","9月下旬","-",5,20,10,"10 0 5")
sayaendou = Yasai("さやえんどう","8月上旬","-",6,25,10,"7 0 9")
ingen = Yasai("いんげん","8月中旬","-",14,20,20,"0 0 0")
toumorokoshi = Yasai("とうもろこし","3月下旬","-",30,30,25,"6 0 7")
gobou = Yasai("ごぼう","3月上旬","-",14,25,16,"8 0 6")
rakkyou = Yasai("らっきょう","9月上旬","-",8,20,10,"5 0 5")
rifuretasu = Yasai("リーフレタス","9月下旬","10月下旬",20,20,20,"-")
kekkyuretasu = Yasai("結球レタス","7月下旬","8月下旬",25,25,25,"-")
daikonn = Yasai("大根","9月上旬","-",15,20,12,"10 0 10")
bareisyo = Yasai("じゃがいも","1月下旬","-",17,20,18,"8 0 0")
satoimo = Yasai("さといも","4月上旬","-",14,23,12,"6 0 8")
kansyo = Yasai("かんしょ","3月上旬(種芋定植)","5月上旬",5,12,15,"-")
ninjin = Yasai("にんじん","8月上旬","-",15,20,15,"5 0 5")
syouga = Yasai("しょうが","4月中旬","-",20,20,20,"10 10 10")
shishitou = Yasai("ししとうがらし","1月上旬","3月下旬",20,20,20,"25 15 15")
nigauri = Yasai("にがうり","3月下旬","4月下旬",20,16,20,"13 8 11")
burokkuri = Yasai("ブロッコリー","8月中旬","9月下旬",15,20,15,"10 5 10")
soramame = Yasai("そらまめ","8月上旬","10月上旬",15,15,15,"5 5 5")
kyabetsu = Yasai("キャベツ","9月下旬","11月上旬",15,15,15,"10 5 10")
hakusai = Yasai("はくさい","9月下旬","11月上旬",15,15,15,"10 5 10")
hourensou = Yasai("ほうれん草","9月上旬","-",10,10,10,"5 0 5")
syungiku = Yasai("春菊","8月下旬","-",15,15,10,"10 0 10")
konegi = Yasai("小ねぎ","4月上旬","-",15,10,15,"25 15 20")
tamanegi_ikubyou = Yasai("玉ねぎ(育苗)","-","-",0.5,0.5,0.5,"(kg/50m2)")
tamanegi = Yasai("玉ねぎ","9月上旬","10月下旬",15,20,15,"10 5 5")
sehidetas=[kabocya,kyuri,suika,meron,tomato,piman,ichigonae,ichigo,
nasu,okura,nira,miendou,sayaendou,ingen,toumorokoshi,gobou,
rakkyou,rifuretasu,kekkyuretasu,daikonn,bareisyo,satoimo,
kansyo,ninjin,syouga,shishitou,nigauri,burokkuri,soramame,
kyabetsu,hakusai,hourensou,syungiku,konegi,tamanegi_ikubyou,
tamanegi]
def yasainame():
print("施肥量データが選ばれました。野菜を選んでください。")
for i,v in enumerate(sehidetas):
print(i,v.name)
def yasai_sentaku():
print("**********************************************")
yasainum = input("野菜の番号を入力してください: ")
try:
sehidetas[int(yasainum)].yasai_data_load()
sehidetas[int(yasainum)].m_change()
print("**********************************************")
print("*元肥,追肥のデータだけです(堆きゅう肥,苦土石灰,よう燐は土壌状態に合わせ別途用意する必要があります)")
except IndexError:
print("選択範囲にない値です.")
yasai_sentaku()
#袋の総量及び成分含有率入力
def fukuro():
print("袋の成分量を計算します")
fukuro_kg = input("袋の総量を入力してください(kg): ")
fukuro_N = input("窒素含有率を入力してください(N): ")
fukuro_P = input("リン酸含有率を入力してください(P): ")
fukuro_K = input("カリ含有率を入力してください(K): ")
fukuro = Sehi(fukuro_kg,fukuro_N,fukuro_P,fukuro_K)
fukuro.seibunryou()
#メイン処理
syori = input("処理を選んでください: 1: 施肥量計算 2: 施肥量データ: ")
def hatake():
if syori == str(1):
fukuro()
input()
elif syori == str(2):
yasainame()
yasai_sentaku()
hatake()
input()
ソースに書いてあるとおり元肥,追肥のデータだけです(堆きゅう肥,苦土石灰,よう燐は土壌状態に合わせ別途用意する必要があります
あと播種期,定植期も一般的な露地物のものとしていますが(春夏二度のものもあります)
地域差.農業スタイルや気温によってもかわります
あくまで参考程度で...
自分の環境はlinuxです
ソースをメモ帳にコピペで名前にnpk.pyをつけて
実行権限をつけて同じ階層でpython npk.pyしてやってください
brotherprinterがarchlinuxで使えなくなったが使えるようになった話
ハードディスクを換装しあたらしいarch環境でブラザー製の複合機の
プリンター機能を使いたくセッティングした
詳しくはこちらを参考にさせてもらった
いざプリントしてみるとcupsも正常に起動しネットワークプリンターもcupsから見えている状態
接続にAppSocket/HP JetDirect
socket://192.168.○.○:9100 を設定
テストページを印刷してみるとジョブも正常終了するがプリンターが動かない
こちらで書いておられるようにlib32-glibc(multilibをpacman.confにて設定必要)
をインストールしcupsを再起動
sudo systemctl restart org.cups.cupsd.service
もう一度設定し直してみると今度は無事にテストページを印刷した
一応...備忘録
プリンター機能を使いたくセッティングした
詳しくはこちらを参考にさせてもらった
いざプリントしてみるとcupsも正常に起動しネットワークプリンターもcupsから見えている状態
接続にAppSocket/HP JetDirect
socket://192.168.○.○:9100 を設定
テストページを印刷してみるとジョブも正常終了するがプリンターが動かない
こちらで書いておられるようにlib32-glibc(multilibをpacman.confにて設定必要)
をインストールしcupsを再起動
sudo systemctl restart org.cups.cupsd.service
もう一度設定し直してみると今度は無事にテストページを印刷した
一応...備忘録
パソコンの挙動がおかしかったのでマザーボードの電池交換
ポンコツなのはパソコンか自分か?
ダントツにコスパの良い旧型中古自作PCをくみあげた
ちなみに今使っているのは当時1300円のLGA775マザーボードに
core2quadをとりつけたもの
最近 なぜかパソコンの挙動がいたるところでおかしかった
症状はタスク処理中に固まってしまったり異常に起動がおそくなったり
アクセスランプが点きっぱなしになったりとか....
疑ったのはソフト、メモリ、ハードディスク、マザーボードなどだ
作業途中にハードディスクが回りっぱなしになったりしていたのでハードディスクも
うたがっていたのだが他のパソコンに換装してみるとうまくうごいているようだ
メモリ関係でトラブルがでることもある
デュアルチャンネルで動かす場合などメモリ同士の相性などで誤作動する場合が
あるし挿し方が悪いとこれも原因となったことがある
ということで一応一本挿しにしてみたり違うものを使ってみたりしたのだがやはり
おかしい
着眼したのはbiosの立ち上がりが悪くなっていたことで
biosがメモリを読み込んだあとにデバイス周りのよみこみがおそかった
これはもうマザーボード交換時期なのかとおもっていたのだが
とりあえず最後の望みとしてcmosクリアと電池交換してみたところ
いまのところ非常に快適にうごいている
マザーボードも中古品を使うので次から組み上げる際に電池交換をまめに
しておこうとひそかにおもったのであった....
ダントツにコスパの良い旧型中古自作PCをくみあげた
ちなみに今使っているのは当時1300円のLGA775マザーボードに
core2quadをとりつけたもの
最近 なぜかパソコンの挙動がいたるところでおかしかった
症状はタスク処理中に固まってしまったり異常に起動がおそくなったり
アクセスランプが点きっぱなしになったりとか....
疑ったのはソフト、メモリ、ハードディスク、マザーボードなどだ
作業途中にハードディスクが回りっぱなしになったりしていたのでハードディスクも
うたがっていたのだが他のパソコンに換装してみるとうまくうごいているようだ
メモリ関係でトラブルがでることもある
デュアルチャンネルで動かす場合などメモリ同士の相性などで誤作動する場合が
あるし挿し方が悪いとこれも原因となったことがある
ということで一応一本挿しにしてみたり違うものを使ってみたりしたのだがやはり
おかしい
着眼したのはbiosの立ち上がりが悪くなっていたことで
biosがメモリを読み込んだあとにデバイス周りのよみこみがおそかった
これはもうマザーボード交換時期なのかとおもっていたのだが
とりあえず最後の望みとしてcmosクリアと電池交換してみたところ
いまのところ非常に快適にうごいている
マザーボードも中古品を使うので次から組み上げる際に電池交換をまめに
しておこうとひそかにおもったのであった....
lxdeの仮想デスクトップの数を増やす(自分用備忘録)
備忘禄
環境はarchlinux
デフォルトの枚数が2枚になったのかな?
/home/usrname/.config/openbox/xde-rc.xml
<desktops>
<number>3</number>(数字変える)
<name>desktop 3</name>(名前を追加)
</desktops>
保存 logout→login
でいいとおもう
環境はarchlinux
デフォルトの枚数が2枚になったのかな?
/home/usrname/.config/openbox/xde-rc.xml
<desktops>
<number>3</number>(数字変える)
<name>desktop 3</name>(名前を追加)
</desktops>
保存 logout→login
でいいとおもう
よくわからないもの
import time as tm
import hashlib
a = 1
b = []
while a <= 10:
tm.sleep(1)
b.append([a])
c = str(b)
hash=hashlib.sha256(c.encode('utf8')).hexdigest()
a+=1
print(b)
print(hash,b[-1],len(b))
フィーリングだけで作ってみた
(理解ができなかったので...)
1〜10までの数字をカウント
ループが回るたびに1ずつ増える変数aをbに追加
そのつどbをハッシュ化
ハッシュされたデータと現在の最後のカウント数、データの長さを出力
おや いつのまにやらなおってた
管理者権限でpcmanfmを開くと
ログアウトがまともにできなる現象がいつの間にやら直ってた
.....なにかしたのかなぁ
それともアップデートでなおったのかな
wheelグループの設定変えたような 変えなかったような
ほかにもなにかしたかなぁ...覚えてないや
まぁ直ったからよしとしよう
ログアウトがまともにできなる現象がいつの間にやら直ってた
.....なにかしたのかなぁ
それともアップデートでなおったのかな
wheelグループの設定変えたような 変えなかったような
ほかにもなにかしたかなぁ...覚えてないや
まぁ直ったからよしとしよう
ひさしぶりー
ipアドレスでプロバイダーのホスト局が特定できるのって
セキュリティー的にはどうなのかって昔からおもってる
たしかに中継局なので個人の特定はできないとしても
田舎では少し変わった行動をしたことをブログやHPに書き込めば
アドレスから個人を特定されてしまうのではないかと感じている
確かにVPNやプロクシをつかえばアドレスが変わるので
それを使えばって話なのだが
プロバイダ側でそういった配慮が今までないのはどうだろうと
感じる
なによりブラウザのキャッシュを削除してからのHP閲覧で
いきなり地域の広告がHPに所狭しと出るのは気持ちが悪いの
一言だ
うーんプロバイダーなら自社の中継サーバーを1つ2つ回して(なんならランダムに...)
セキュアな
環境を提供することができそうなのにね
まぁ素人の言ってることなので....
ははは また復活!
よくとまりますねぇTT
そして 一度止まると2,3ヶ月こちらの世界へ
帰ってくることができません
しかし その間も回線利用料や基本料金といった形で
しっかりと請求がくるわけで.....
まぁなんとか生還することができたわけですが....
やはり情報の取得が制限されるというのはかなりのストレス
ですね。。。そしてその間なにをやっていたかというと....
古いノートパソコンにarchlinuxをarchisoから完全オフライン
でインストールしてみたり....
#! /usr/bin/python3.7
import time
import sys
#時間を取得
time = time.localtime()
print("今日は" + str(time[0]) + "年" + str(time[1]) + "月" + str(time[2]) + "日です")
#元号年の計算
meiji= int(time[0])- 1867
taisyou= int(time[0])- 1911
syouwa= int(time[0])- 1925
heisei = int(time[0])- 1988
reiwa = int(time[0])-2018
#元号年出力
print("令和"+ str(reiwa)+ "年です")
print("**********************************")
print("明治"+ str(meiji)+ "年です(元年1868年)")
print("大正"+ str(taisyou)+ "年です(元年1912年)")
print("昭和"+ str(syouwa)+ "年です(元年1926年)")
print("平成"+ str(heisei)+ "年です(元年1989年)")
print("**********************************")
#選択
def seireki_gengou():
choice_seireki = input("西暦を入れてください : ")
meiji_se_ge = int(choice_seireki) - int(1867)
taisyou_se_ge = int(choice_seireki) - int(1911)
syouwa_se_ge = int(choice_seireki) - int(1925)
heisei_se_ge = int(choice_seireki) - int(1988)
reiwa_se_ge = int(choice_seireki) - int(2018)
if int(choice_seireki) > int(1867) and int(choice_seireki) <= int(1911):
print("明治"+ str(meiji_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(1911) and int(choice_seireki) <= int(1925):
print("大正"+ str(taisyou_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(1925) and int(choice_seireki) <= int(1988):
print("昭和"+ str(syouwa_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(1988) and int(choice_seireki) <= int(2018):
print("平成"+ str(heisei_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(2018) :
print("令和"+ str(reiwa_se_ge)+ "年です")
input()
sentaku()
else:
sentaku()
def gengou_choice():
gengou_choice= str(input("番号 1-5 で選んでください:"))
if gengou_choice == "1":
print("明治が選ばれました")
meiji_year = input("明治何年を調べますか?(数字):")
meiji_seireki = int(meiji_year)+ int(1867)
print("明治"+ str(meiji_year) +"年は西暦"+ str(meiji_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "2":
print("大正が選ばれました")
taisyou_year = input("大正何年を調べますか?(数字):")
taisyou_seireki = int(taisyou_year)+ int(1911)
print("大正"+ str(taisyou_year) +"年は西暦"+ str(taisyou_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "3":
print("昭和が選ばれました")
syouwa_year = input("昭和何年を調べますか?(数字):")
syouwa_seireki = int(syouwa_year)+ int(1925)
print("昭和"+ str(syouwa_year) +"年は西暦"+ str(syouwa_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "4":
print("平成が選ばれました")
heisei_year = input("平成何年を調べますか?(数字):")
heisei_seireki = int(heisei_year)+ int(1988)
print("平成"+ str(heisei_year) +"年は西暦"+ str(heisei_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "5":
print("令和が選ばれました")
reiwa_year = input("令和何年を調べますか?(数字):")
reiwa_seireki = int(reiwa_year)+ int(2017)
print("令和"+ str(reiwa_year) +"年は西暦"+ str(reiwa_seireki )+ "年です")
input()
sentaku()
else:
sentaku()
def sentaku():
print("何を調べますか?")
print("1: 元号から西暦")
print("2: 西暦から元号")
print("3: メニュー")
print("4: 終了")
print("***********************************")
menu = str(input("番号 1- 4 で選んでください :"))
if menu == "1":
print("元号から西暦を計算します")
print("1: 明治")
print("2: 大正")
print("3: 昭和")
print("4: 平成")
print("5: 令和")
gengou_choice()
elif menu == "2":
print("西暦から元号年を計算します")
seireki_gengou()
elif menu == "4":
sys.exit()
else:
sentaku()
sentaku()
gengou_choice()
seireki_gengou()
input()
ちょっと書いてみたりして遊んでました
これもclass使うともう少し簡潔にかけそうですが....
なにぶんにも専業農家.....
計算式とか不等号とか違っていたら教えてください
それではまた しばらくはつながっていられそう。。。。
そして 一度止まると2,3ヶ月こちらの世界へ
帰ってくることができません
しかし その間も回線利用料や基本料金といった形で
しっかりと請求がくるわけで.....
まぁなんとか生還することができたわけですが....
やはり情報の取得が制限されるというのはかなりのストレス
ですね。。。そしてその間なにをやっていたかというと....
古いノートパソコンにarchlinuxをarchisoから完全オフライン
でインストールしてみたり....
#! /usr/bin/python3.7
import time
import sys
#時間を取得
time = time.localtime()
print("今日は" + str(time[0]) + "年" + str(time[1]) + "月" + str(time[2]) + "日です")
#元号年の計算
meiji= int(time[0])- 1867
taisyou= int(time[0])- 1911
syouwa= int(time[0])- 1925
heisei = int(time[0])- 1988
reiwa = int(time[0])-2018
#元号年出力
print("令和"+ str(reiwa)+ "年です")
print("**********************************")
print("明治"+ str(meiji)+ "年です(元年1868年)")
print("大正"+ str(taisyou)+ "年です(元年1912年)")
print("昭和"+ str(syouwa)+ "年です(元年1926年)")
print("平成"+ str(heisei)+ "年です(元年1989年)")
print("**********************************")
#選択
def seireki_gengou():
choice_seireki = input("西暦を入れてください : ")
meiji_se_ge = int(choice_seireki) - int(1867)
taisyou_se_ge = int(choice_seireki) - int(1911)
syouwa_se_ge = int(choice_seireki) - int(1925)
heisei_se_ge = int(choice_seireki) - int(1988)
reiwa_se_ge = int(choice_seireki) - int(2018)
if int(choice_seireki) > int(1867) and int(choice_seireki) <= int(1911):
print("明治"+ str(meiji_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(1911) and int(choice_seireki) <= int(1925):
print("大正"+ str(taisyou_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(1925) and int(choice_seireki) <= int(1988):
print("昭和"+ str(syouwa_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(1988) and int(choice_seireki) <= int(2018):
print("平成"+ str(heisei_se_ge)+ "年です")
input()
sentaku()
elif int(choice_seireki) > int(2018) :
print("令和"+ str(reiwa_se_ge)+ "年です")
input()
sentaku()
else:
sentaku()
def gengou_choice():
gengou_choice= str(input("番号 1-5 で選んでください:"))
if gengou_choice == "1":
print("明治が選ばれました")
meiji_year = input("明治何年を調べますか?(数字):")
meiji_seireki = int(meiji_year)+ int(1867)
print("明治"+ str(meiji_year) +"年は西暦"+ str(meiji_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "2":
print("大正が選ばれました")
taisyou_year = input("大正何年を調べますか?(数字):")
taisyou_seireki = int(taisyou_year)+ int(1911)
print("大正"+ str(taisyou_year) +"年は西暦"+ str(taisyou_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "3":
print("昭和が選ばれました")
syouwa_year = input("昭和何年を調べますか?(数字):")
syouwa_seireki = int(syouwa_year)+ int(1925)
print("昭和"+ str(syouwa_year) +"年は西暦"+ str(syouwa_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "4":
print("平成が選ばれました")
heisei_year = input("平成何年を調べますか?(数字):")
heisei_seireki = int(heisei_year)+ int(1988)
print("平成"+ str(heisei_year) +"年は西暦"+ str(heisei_seireki )+ "年です")
input()
sentaku()
elif gengou_choice == "5":
print("令和が選ばれました")
reiwa_year = input("令和何年を調べますか?(数字):")
reiwa_seireki = int(reiwa_year)+ int(2017)
print("令和"+ str(reiwa_year) +"年は西暦"+ str(reiwa_seireki )+ "年です")
input()
sentaku()
else:
sentaku()
def sentaku():
print("何を調べますか?")
print("1: 元号から西暦")
print("2: 西暦から元号")
print("3: メニュー")
print("4: 終了")
print("***********************************")
menu = str(input("番号 1- 4 で選んでください :"))
if menu == "1":
print("元号から西暦を計算します")
print("1: 明治")
print("2: 大正")
print("3: 昭和")
print("4: 平成")
print("5: 令和")
gengou_choice()
elif menu == "2":
print("西暦から元号年を計算します")
seireki_gengou()
elif menu == "4":
sys.exit()
else:
sentaku()
sentaku()
gengou_choice()
seireki_gengou()
input()
ちょっと書いてみたりして遊んでました
これもclass使うともう少し簡潔にかけそうですが....
なにぶんにも専業農家.....
計算式とか不等号とか違っていたら教えてください
それではまた しばらくはつながっていられそう。。。。
ひとりごと nazeni arch
私の環境ではなぜだかこの間からpcmanfmをsudo起動すると
一般ユーザモード?(スタートメニューの電源メニューにシャットダウン. リブートが消える)
に落とされたあげくログアウトボタンでXクラッシュ
なんてことになってしまう
いろいろ調べてみて(xdg関係やusrs,suders,やらetc...)
いたが結局わからず直らなかったまあバグなんかだったら
アップデートで直るかもなどともおもいlxdeから
ほかのwmを使ってみることに
まずはopenboxこれはlxdeを抜いていなければそのまま
lxdmから選んで起動できたがやはりsudo でpcmanfmを起動すると
lxdmの画面が出てこない
なんだかちょっと凹んできたのでlxde自体をアンインストール
これで同梱されていたlxdmやpcmanfmなどが消えた
再起動後ログインするとカーソルは出ていない
xorgがうまくはいっていればstartxとコマンドをうてば
標準搭載のターミナル3つの画面がたちあるはず
一応これでもぜんぜんいいんだけど...
普段づかいなのでやっぱりちょっとアプリランチャーとかデスクトップとかほしい
ということで dwm jwm uwmなどをつぎつぎと試してみる
デスクトップマネージャをいれていないので
startx の自動起動に~/zloginを作って
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
を記述
あとは各wmをひとつづつxinitrcに書いて起動させてみた
まあみんな軽くてよかった
chromiumbook作るならこんな感じで
つくるとよさそう.....
jwmにxfce4-panelなどをつけてみたりしてみたが
結局これなら普通にxfceいれたほうがいいなってことになって
DMにlightdmをいれてxfceを起動で落ち着きました
その際少し気づいたことですが
DMがない場合
xinitrcにfcitxを登録して起動させても
うまくmozcが動かなかった(なぜか直接入力というのができなかった)
DMをいれたらうまくfcitx-mozcをつかうことができた
まあ支離滅裂な文章ですがこんなもんで....(うゎてきとーTT)
またね
を記述
あとは各wmをひとつづつxinitrcに書いて起動させてみた
まあみんな軽くてよかった
chromiumbook作るならこんな感じで
つくるとよさそう.....
jwmにxfce4-panelなどをつけてみたりしてみたが
結局これなら普通にxfceいれたほうがいいなってことになって
DMにlightdmをいれてxfceを起動で落ち着きました
その際少し気づいたことですが
DMがない場合
xinitrcにfcitxを登録して起動させても
うまくmozcが動かなかった(なぜか直接入力というのができなかった)
DMをいれたらうまくfcitx-mozcをつかうことができた
まあ支離滅裂な文章ですがこんなもんで....(うゎてきとーTT)
またね
wmをメインとサブにわけてみた
普段使い(主にインターネット閲覧)には
openboxを使用
作業用にはconpiz+LXDEで使用
って感じにしてみた
違いはデスクトップを視覚的に使うかどうかと
スピードで
openboxでは開いてすぐにchromiumを開いて
使うようなときに...(ですのでこちらは余計な常駐プログラムなどは
極力起動させないようにします)
conpiz+lxdeではいろいろ開いて仮想デスクトップ
まで使った作業をするときになどに
DM(lxdm)にて切り替えて使うことにしました
ふだんはopenboxが増えてゆくかも...
openboxを使用
作業用にはconpiz+LXDEで使用
って感じにしてみた
違いはデスクトップを視覚的に使うかどうかと
スピードで
openboxでは開いてすぐにchromiumを開いて
使うようなときに...(ですのでこちらは余計な常駐プログラムなどは
極力起動させないようにします)
conpiz+lxdeではいろいろ開いて仮想デスクトップ
まで使った作業をするときになどに
DM(lxdm)にて切り替えて使うことにしました
ふだんはopenboxが増えてゆくかも...
pythonでRssリーダーを作ってみました
easyguiでRssフィーダーを作ってみました
OSはarchlinuxです
ワンファイルで起動します
テキストにコピー&ペーストで.pyファイルを作って
権限与えて実行してください
RSSのURLをいれて選ぶとニュースヘッドラインがならびます
気に入ったニュースを選ぶと標準ブラウザを立ち上げ
詳細を知ることができます
初回起動時'/home/user/Desktop/feedurl.txt'を作ります
*userはusernameですのでパスは好きなところに変えてください
RssのURLはテキストとしてどんどん上書き保存されます
がテキストファイルですのでいらなくなったら消したり
編集したりできるかと思います
なんとなくICEFEEDと名付けてみました
自動更新をつけるためにtimeをimportしていますが未実装です
ゆえに手動更新です
作成途中ですので割当のないボタンが存在しているかもしれません
へたの横好きですのでこのプログラムによって起こったいかなる
問題にも対処できませんのでよろしくおねがいします
#!/usr/bin/env python3.7
# -*- coding: utf-8 -*-
#import pdb; pdb.set_trace()
import feedparser
import easygui as ez
import webbrowser
import time
def main():
#RSsurlinput
feed = ez.enterbox("rss,rdfのURLを入れてください","rssfeed")
#Rssfeedsave
f = open('/home/user/Desktop/feedurl.txt','a')
f.write(feed+ "\n")
f.close()
#Rssfeedload
f = open('/home/user/Desktop/feedurl.txt')
line = f.read()
lines1 = line.split("\n")
f.close()
#feedURLchoice
msg ="What is your feedurl?"
title = "Ice feed"
choices = []
for i in lines1:
choices.append(i)
choice = ez.choicebox(msg, title, choices)
rss = choice
dic = feedparser.parse(rss)
news = []
for entry in dic.entries:
title = entry.title
link = entry.link
news.append([title,link])
#newschoice
choice = ez.choicebox(dic.feed.title,"RSS",news)
front_page = choice.split(",")[1]
url = front_page.lstrip(" ").rstrip("]").lstrip("'").rstrip("'")
#browseropen
webbrowser.open(url, new=2, autoraise=True)
if __name__ == "__main__":
main()
OSはarchlinuxです
ワンファイルで起動します
テキストにコピー&ペーストで.pyファイルを作って
権限与えて実行してください
RSSのURLをいれて選ぶとニュースヘッドラインがならびます
気に入ったニュースを選ぶと標準ブラウザを立ち上げ
詳細を知ることができます
初回起動時'/home/user/Desktop/feedurl.txt'を作ります
*userはusernameですのでパスは好きなところに変えてください
RssのURLはテキストとしてどんどん上書き保存されます
がテキストファイルですのでいらなくなったら消したり
編集したりできるかと思います
なんとなくICEFEEDと名付けてみました
自動更新をつけるためにtimeをimportしていますが未実装です
ゆえに手動更新です
作成途中ですので割当のないボタンが存在しているかもしれません
へたの横好きですのでこのプログラムによって起こったいかなる
問題にも対処できませんのでよろしくおねがいします
#!/usr/bin/env python3.7
# -*- coding: utf-8 -*-
#import pdb; pdb.set_trace()
import feedparser
import easygui as ez
import webbrowser
import time
def main():
#RSsurlinput
feed = ez.enterbox("rss,rdfのURLを入れてください","rssfeed")
#Rssfeedsave
f = open('/home/user/Desktop/feedurl.txt','a')
f.write(feed+ "\n")
f.close()
#Rssfeedload
f = open('/home/user/Desktop/feedurl.txt')
line = f.read()
lines1 = line.split("\n")
f.close()
#feedURLchoice
msg ="What is your feedurl?"
title = "Ice feed"
choices = []
for i in lines1:
choices.append(i)
choice = ez.choicebox(msg, title, choices)
rss = choice
dic = feedparser.parse(rss)
news = []
for entry in dic.entries:
title = entry.title
link = entry.link
news.append([title,link])
#newschoice
choice = ez.choicebox(dic.feed.title,"RSS",news)
front_page = choice.split(",")[1]
url = front_page.lstrip(" ").rstrip("]").lstrip("'").rstrip("'")
#browseropen
webbrowser.open(url, new=2, autoraise=True)
if __name__ == "__main__":
main()
こんな感じになりました
やっぱり自動更新いるかなぁ....^^;
やっぱり自動更新いるかなぁ....^^;
これは...... googlerとw3mでさっと知りたいことを取り出してみた
ターミナルからのコマンドラインから
google検索が使えるコマンドラインの
googlerを使ってみた
使ってみると結構使いやすい
google検索が使えるコマンドラインの
googlerを使ってみた
使ってみると結構使いやすい
↑の画面から数字を選ぶとデフォルトのwebブラウザが
起動するようだ
ただせっかくターミナルで検索をかけているのに
フルブラウザが開くまで待っているのはちょっとしたストレス
に感じた
環境変数のブラウザを w3mに変えることで
ターミナルのままテキストベースブラウザ
で情報を閲覧することができた
えくすとらんの場合はシェルにzshを使っているので.zshrcに
alias g="BROWSER=w3m googler -n 5"
alias gn="BROWSER=w3m googler -N -n 5"#こちらはニュース検索
を追加してgでgoogler起動。
検索をかけて番号を選ぶとw3mで結果が表示されるようにした
bashの場合は.bashrcに記述しとけばいいのかな?
googler+w3mはなんかいいとおもう!
archupdateでカーネルバージョンアップが失敗する
カーネルアップデートするとエラーが出て
キーボード.マウスの入力を受け付けなくなる
問題ではどうやらcpioでの作成が
うまく行ってなかったのかなとおもう
アップデートの際
initramfs-linux-*.img
initramfs-linux-*-fallback.img
vmlinuz-linux*
というファイルが/bootにできているようですが
このファイルと実際のカーネルバージョンが違うと
エラーになるのかなぁ
なので...カーネルアップデートでエラーが出る場合は
(私の場合はインストールディスクを使ってchrootからやっています)
boot以下の
initramfs-linux-*.img
initramfs-linux-*-fallback.img
vmlinuz-linux*
を削除
もういちどカーネルとヘッダーをインストール
たぶんこの時点でmkinitcpioが行われているとおもうのだけれど失敗の場合は
mkinitcpioを手動で起動
新しく
initramfs-linux-*.img
vmlinuz-linux*
initramfs-linux-*-fallback.img
を作ればよいのではないかとおもっています(実行される方は自己責任にてお願いします えくすとらんは記事の実行によって起こったいかなるトラブルにも対処できません)
なぜアップデート時にimgやvmlinuzの作成が失敗するようになってしまったのか?とかどうやればもとに戻るのかなどと
疑問が残りますがひとまずカーネルアップデートはこの方法で最新にできるかなぁ
キーボード.マウスの入力を受け付けなくなる
問題ではどうやらcpioでの作成が
うまく行ってなかったのかなとおもう
アップデートの際
initramfs-linux-*.img
initramfs-linux-*-fallback.img
vmlinuz-linux*
というファイルが/bootにできているようですが
このファイルと実際のカーネルバージョンが違うと
エラーになるのかなぁ
なので...カーネルアップデートでエラーが出る場合は
(私の場合はインストールディスクを使ってchrootからやっています)
boot以下の
initramfs-linux-*.img
initramfs-linux-*-fallback.img
vmlinuz-linux*
を削除
もういちどカーネルとヘッダーをインストール
たぶんこの時点でmkinitcpioが行われているとおもうのだけれど失敗の場合は
mkinitcpioを手動で起動
新しく
initramfs-linux-*.img
vmlinuz-linux*
initramfs-linux-*-fallback.img
を作ればよいのではないかとおもっています(実行される方は自己責任にてお願いします えくすとらんは記事の実行によって起こったいかなるトラブルにも対処できません)
なぜアップデート時にimgやvmlinuzの作成が失敗するようになってしまったのか?とかどうやればもとに戻るのかなどと
疑問が残りますがひとまずカーネルアップデートはこの方法で最新にできるかなぁ
jigen2_4更新
- コマンド実行日取得後の実行期間が30日はちょっとながいので7日くらいにしてみました(30日表示されると実行日が見えなかったので)
なんの計画もなしおもうがままにつくったので関数.classなども
使ってないですね(オブジェクト無思考・・・)
やはり関数など作っておくと後々”戻る”処理をするとき便利なのかもしれませんねぇ
次から考えてみよう...(直さないのか?)
今日はすずしくなったなぁ...
自分専用jigenpy
jigen2pyを
外付けデバイス削除専用で更新してみました
ddコマンドでゼロ埋め処理をする(のはず)ようにしたので
デバイス名や実行日の入力を間違えると非常に危険です
55行目のsudopassをいれてください
デフォルトでsdb1が削除対象です
*実はまだ試していないのでコマンドが正常動作するのかどうなのかわかっていません(試すと今つけている外付けデバイスの中身がすべて消えるので他デバイスを用意しないと
だめですね^^;)
一応倉庫にjigen2_1.pyでおいてあります
えくすとらんはこのスクリプトによって起こったいかなる
トラブルにも対処できませんのであしからず...
外付けデバイス削除専用で更新してみました
ddコマンドでゼロ埋め処理をする(のはず)ようにしたので
デバイス名や実行日の入力を間違えると非常に危険です
55行目のsudopassをいれてください
デフォルトでsdb1が削除対象です
*実はまだ試していないのでコマンドが正常動作するのかどうなのかわかっていません(試すと今つけている外付けデバイスの中身がすべて消えるので他デバイスを用意しないと
だめですね^^;)
一応倉庫にjigen2_1.pyでおいてあります
えくすとらんはこのスクリプトによって起こったいかなる
トラブルにも対処できませんのであしからず...
jigen2py 更新
パソコンを自動起動させたところ
スクリプトの立ち上がりがあまりにも早く
デスクトップの環境が揃うまでにスクリプトが終わってしまう
ことに気づきました
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import time
import sys, select
import subprocess as sp
print("しばらくおまちください")
#立ち上がりのウエイト設定
time.sleep(5)
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
#インプット選択10秒間キー入力がなければマイナス一日
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("notuch key")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt','r')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
cmd = "ls "
sp.call( cmd, shell=True )
print("実行日でなければ5秒後にソフトをキルします")
#起動後5時間後にPCをシャットダウン
cmd2 = "shutdown -h +300"
sp.call( cmd2, shell=True )
time.sleep(5)
スクリプトの立ち上がりがあまりにも早く
デスクトップの環境が揃うまでにスクリプトが終わってしまう
ことに気づきました
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import time
import sys, select
import subprocess as sp
print("しばらくおまちください")
#立ち上がりのウエイト設定
time.sleep(5)
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
#インプット選択10秒間キー入力がなければマイナス一日
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("notuch key")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt','r')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
cmd = "ls "
sp.call( cmd, shell=True )
print("実行日でなければ5秒後にソフトをキルします")
#起動後5時間後にPCをシャットダウン
cmd2 = "shutdown -h +300"
sp.call( cmd2, shell=True )
time.sleep(5)
たちあがりにウエイトをいれてみました
これでも早い場合は数字を変更してみてください
あと...savefileはpyfileと同じ階層にできるといっていたのですがどうやら/home/usrnameの下にできているようですので
一応訂正...ファイル名 .をつけて隠し属性にしたほうがいいのかなぁ?
まあ 必要なら...そのときに...
できた?!jigen2py
昨日の機能にシャットダウン機能を追加しました
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import time
import sys, select
import subprocess as sp
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
#インプット選択10秒間キー入力がなければマイナス一日
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("notuch key")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
cmd = "ls "
sp.call( cmd, shell=True )
print("実行日でなければ5秒後にソフトをキルします")
#起動後5時間後にPCをシャットダウン
cmd2 = "shutdown -h +300"
sp.call( cmd2, shell=True )
time.sleep(5)
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import time
import sys, select
import subprocess as sp
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
#インプット選択10秒間キー入力がなければマイナス一日
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("notuch key")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
cmd = "ls "
sp.call( cmd, shell=True )
print("実行日でなければ5秒後にソフトをキルします")
#起動後5時間後にPCをシャットダウン
cmd2 = "shutdown -h +300"
sp.call( cmd2, shell=True )
time.sleep(5)
これを一応デスクトップに置いているので
デスクトップエントリーに記述
[Desktop Entry]
Name=jigen2py
Exec=lxterminal -e python3.7 /home/xtoran/Desktop/jigen2.py
Type=Application
を/home/ユーザー名/.config/autostart
にjigen2py.desktopで保存(権限注意)
この設定ではスクリプト起動後5時間後にパソコンがシャットダウンします
えくすとらんの場合はbiostimer設定によって朝5時15分に
ブートしスクリプト初回手動起動30日後にコマンド実行の設定、
キー入力がなければ5時間後にシャットダウン・次の朝
オートでブート。スクリプト起動でキー入力なければ
29日後にコマンド実行と、コマンド実行日をマイナスしていきます
一応これでできたかなぁ^^
倉庫にpyファイルと記述済みデスクトップエントリーをいれておきました
起動時自動実行py 更新。。
IDEを使っていたため気づかなかったのですが
昨日のスクリプト...実行すると一瞬で消えますね
せっかく実行日が見やすいように考えたのに台無しです
ですので更新です
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import time
import sys, select
import subprocess as sp
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or no touch): ")
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("no touch")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
cmd = "ls "
sp.call( cmd, shell=True )
print("実行日でなければ5秒後にソフトを終了します")
time.sleep(5)
こんな感じ
今回は実行日にシェルコマンドlsが実行されます
実行日でなければ5秒後に自動的に終了します
使い方(例)
- biosタイマーでpcの起動を設定
- スクリプトのデスクトップエントリーを作りスタートアップに登録しておく
- 初回起動は手動で実行し何日後にシェルコマンドを実行させるか入れておく
- スタートアップから起動されるとオートで”コマンド実行日まであと何日”が減ってゆく(これはスクリプトが実行されるとセーブテキストの”あと何日”の数字が減っていくようになっています。*更新のために手動実行した場合も減ってしまいますので内部処理2日前までに更新しないと手動実行でコマンドが実行されることになります(危険!)
- 実行日になるとコマンドを実行します
ツッコミどころ満載です(自動でパソコンの電源を切れるように設定しないと意味がないです^^)
まだまだ改良の余地があるのかどうなのかもわかりません
自分で使うだけなのならこれでいいようなきもしています
素人が趣味で作ったものですので使用の際は精査の上自己責任にてお使いください
このソフトを起動させておこったいかなるトラブルにも対処できませんのでよろしくおねがいします
更新がなくなったら○日後自動でコマンド実行 python3
この前のブログではpythonプログラムをスタートアップで
起動する方法を調べてメモさせてもらいました
それもこれも実はいわゆる遺言ソフトといわれるものを
作ってみたかったというのがあって自分にもしものことが
あったときに自動でコマンド..あるいはソフトを起動できたら
いいのになぁとおもっていました
で・・・一応それらしいのを書いてみました
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import sys, select
import subprocess as sp
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("You said nothing!")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
#cmd = "ls "
#sp.call( cmd, shell=True )
起動する方法を調べてメモさせてもらいました
それもこれも実はいわゆる遺言ソフトといわれるものを
作ってみたかったというのがあって自分にもしものことが
あったときに自動でコマンド..あるいはソフトを起動できたら
いいのになぁとおもっていました
で・・・一応それらしいのを書いてみました
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import datetime
import sys, select
import subprocess as sp
#今日を取得
today = datetime.date.today()
print(today)
print("実行日を更新しますか?(y or notuch is run): ")
i, o, e = select.select( [sys.stdin], [], [], 10 )
if (i):
print("input", sys.stdin.readline().strip())
a = "y"
else:
print("You said nothing!")
a = "n"
if a == "y":
global b
global f
b = input("何日後に設定しますか?: ")
print("実行日まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(b)
f.close()
elif a == "n":
f = open('jigensave.txt')
for b in f:
b = int(b) - 1
print("実行まであと{}日です".format(b))
f = open('jigensave.txt','w')
f.write(str(b))
f.close()
#実行日を決定
future = today + datetime.timedelta(days=int(b))
#実行日から30日を取得(継続期間)
dur = future + datetime.timedelta(days=30)
#継続期間表示
for i in range((dur - future).days + 1):
jikkou = future + datetime.timedelta(days = i)
if today < jikkou:
print(str(jikkou) + ":実行予定です")
elif today > jikkou:
print(str(jikkou) + ":過去へ戻ることはできません")
elif today == jikkou:
print("実行しました")
#シェルコマンドを実行
#cmd = "ls "
#sp.call( cmd, shell=True )
この設定では○日後から30日間プログロムの実行を試みます
シェルコマンド(subprocess call)
のところはコメントにしてあります
一応 lsなんて書いてみましたがrmやddなどのコマンドを
使うと更新がなくなってから○日後にファイルやフォルダを
消すなんて使い方ができることを想定して作っています
権限あり(shell実行):
sp.call('echo "pass" | sudo -S command',shell=True)
のところはコメントにしてあります
一応 lsなんて書いてみましたがrmやddなどのコマンドを
使うと更新がなくなってから○日後にファイルやフォルダを
消すなんて使い方ができることを想定して作っています
権限あり(shell実行):
sp.call('echo "pass" | sudo -S command',shell=True)
スタートアップで起動するたびに一日づつ実行日が減っていきます
データセーブの為にテキストファイル(jigensave.txt)
をpyファイルと同じ階層に
吐き出します(中身は”何日後”が数字で入っています。作成のあとは起動のたびにマイナスされる数字を上書きしていきます)
データセーブの為にテキストファイル(jigensave.txt)
をpyファイルと同じ階層に
吐き出します(中身は”何日後”が数字で入っています。作成のあとは起動のたびにマイナスされる数字を上書きしていきます)
素人がなにもわからずに作っているものですので使用の際は
精査の上お使いください
またプログラムで起こったいかなるトラブルにも対応できませんのでよろしくおねがいします
自分用メモです
登録:
投稿 (Atom)
久しぶりの更新です 備忘録 使っているarchlinuxにnvidiaのドライバを入れたところドライバがあっていなかったのかxが起動せずこれをアンインストールしたがその後xf86-video-nouveauが入っているにもかかわらずxが起動しなくなったのでarchwikiにて調...
-
スプライトの座標確認と ウインドウの端についたら反対側から出てくるようにしてみた #!/usr/bin/python # -*- coding: utf-8 -*- import pyglet from pyglet.window import mouse f...
-
前のブログでのアクセスが一番多かった記事です(文字のみ) またアップしてみました 記事が古いので現在の仕様とことなる場合があるかもしれません AUTHOR: xtoran TITLE: lubuntuファイルマネージャーを管理者権限でたちあげてみた ...