前置き
- Python(パイソン)のプログラムはPCでしか動きません。
- 僕が使っているPCのOSはwindwsです。このブログに記載されたプログラムは、MacOS(Macintosh)では、正常に動作しないことがあります。
- 僕の使っているPythonのバージョンはPython3です。Python2、Python1では、正常に動作しないことがあります。
- もし、「ブログに記載されたプログラムを使いたい!!」と思ってもらっても、PCにPythonが入っていないと動作しません。
まだPCにPythonが入っていない方はこちら
プログラム
ファイル操作プログラム これを使いたい方は、コピーして、テキストファイルに貼り付け
名前を付けて保存で、拡張子を「.py」にしてください。保存したものをダブルクリックすると
黒い画面に「拡張子型ファイル捜索、ファイル名型ファイル捜索、ファイル複製、ファイル削 除、ファイル監視、ファイル数捜索」と表示されると思うので、表示された文のなかの任意の
ひとつを入力してください。それぞれできることが違います。プログラムの指示に従って操作して利用してください。※ファイル複製は、ファイルを複製できますが、複製する数をとんでもない数(例えば、50000000このファイル)にするとPCがクラッシュするまで命令を実行し続け、
PCがクラッシュし起動しなくなることがあるのでくれぐれもしないようにしてください。
全部の機能を文ではうまく説明できないのでいろいろ試してみてください。
import os
import glob
import winsound as ws
import time
while True:
senntaku=(input('拡張子型ファイル捜索、ファイル名型ファイル捜索、ファイル複製、ファイル削除、ファイル監視、ファイル数捜索'))
if senntaku=='拡張子型ファイル捜索':
ws.Beep(440,1100)
sagasu=(input('探すファイルの拡張子は?'))
for tanntei in glob.glob('*.'+sagasu):
print(tanntei)
kesu=(input('消しますか?(yes,no,select)'))
if kesu=='yes':
for tanntei in glob.glob('*.'+sagasu):
os.remove(tanntei)
print(tanntei)
print('削除完了')
time.sleep(5)
if kesu=='no':
print('何も消しません')
time.sleep(5)
if kesu=='select':
select=(input('消すファイルは'))
os.remove(select)
print(tanntei)
time.sleep(5)
if kesu!='yes'or'no'or'select':
time.sleep(5)
if senntaku=='ファイル名型ファイル捜索':
ws.Beep(440,1100)
sagasu=(input('探すファイルのキーワードは?'))
for tanntei in glob.glob('*'+sagasu+'*'+'.*'):
print(tanntei)
kesu=(input('消しますか?(yes,no,select)'))
if kesu=='yes':
for tanntei in glob.glob('*'+sagasu+'*'+'.*'):
os.remove(tanntei)
print(tanntei)
print('削除完了')
time.sleep(5)
if kesu=='no':
print('何も消しません')
time.sleep(5)
if kesu=='select':
select=(input('消すファイルは'))
os.remove(select)
print(tanntei)
time.sleep(5)
if kesu!='yes'or'no'or'select':
time.sleep(5)
if senntaku=='ファイル複製':
ffuku=(input('複製するファイルは?'))
fkaku=(input('拡張子は?'))
fikutu=(input('いくつ複製しますか?'))
count=0
fikutu=int(fikutu)
with open(ffuku+'.'+fkaku,'r') as f1:
f1=f1.read()
while count<fikutu:
count=str(count)
with open(ffuku+'('+count+')'+'.'+fkaku,'w') as f:
f=f.write(f1)
print(ffuku+'('+count+')'+'.'+fkaku)
count=int(count)
count+=1
time.sleep(5)
if senntaku=='ファイル削除':
remove=(input('どのファイルを消しますか?(拡張子込み)'))
os.remove(remove)
print('削除完了')
print('複数削除の場合は、ファイル捜索系を使ってください')
time.sleep(5)
if senntaku=='ファイル監視':
with open('ファイル監視.rtf','a') as f1:
f1=f1.write('')
with open('ファイル監視.rtf','r') as f2:
f2=f2.read()
if f2==None:
with open('ファイル監視.rtf','w') as f3:
f3=f3.write(None)
if f2!=None:
pass
old=set(glob.glob('*.*'))
while True:
new=set(glob.glob('*.*'))
if added := new-old:
added=str(added)
added2=str(added[2:])
added3=str(added2[:-2])
print('新規ファイル '+added3)
with open('ファイル監視.rtf','a') as ps4:
ps4=ps4.write('新規ファイル '+added3+'\n')
if remove := old-new:
remove=str(remove)
remove2=str(remove[2:])
remove3=str(remove2[:-2])
print('削除されたファイル '+remove3)
with open('ファイル監視.rtf','a') as ps5:
ps5=ps5.write('削除されたファイル '+remove3+'\n')
old=new
if senntaku=='ファイル数捜索':
tanntei1=(input("探す場所のパスは?"))
file1=0
for tanntei2 in set(glob.glob(tanntei1+r"\*")):
print(tanntei2)
file1+=1
file1=str(file1)
print('検出されたファイル,フォルダー数'+file1)
time.sleep(5)