>>> fout=open("oops.txt","wt")
>>> print("Oops,I created a file.",file=fout)
>>> fout.close()
>>> import os
>>> os.path.exists("oops.txt")
True
>>> os.path.exists("./oops.txt")
True
>>> os.path.exists("aaa.txt")
False
>>> os.path.exists(".")
True
>>> os.path.exists("..")
True
>>> name="oops.txt"
>>> os.path.isfile(name)
True
#S'il s'agit d'un répertoire isdir()utilisation.
#"."Représente le répertoire actuel
#".."Représente le répertoire parent
>>> os.path.isdir(name)
False
>>> os.path.isdir(".")
True
>>> os.path.isdir("..")
True
#isabs()Renvoie si l'argument est un chemin absolu.
>>> os.path.isabs(name)
False
>>> os.path.isabs("/big/fake/name")
True
>>> os.path.isabs("/big/fake/name/without/a/leading/slash")
True
>>> os.path.isabs("big/fake/name/without/a/leading/slash")
False
>>> import shutil
>>> shutil.copy("oops.txt","ohono.txt")
'ohono.txt'
>>> import os
>>> os.rename("ohono.txt","ohwel.txt")
#yikes.oups de txt.Créer un lien dur vers txt
>>> os.link("oops.txt","yikes.txt")
>>> os.path.isfile("yikes.txt")
True
jeepers.oups de txt.Créer un lien symbolique vers txt
>>> os.symlink("oops.txt","jeepers.txt")
>>> os.path.islink("jeepers.txt")
True
#oops.Seule la lecture est autorisée dans txt.
>>> os.chmod("oops.txt",0o400)
>>> import stat
>>> os.chmod("oops.txt",stat.S_IRUSR)
>>> uid=5
>>> gid=22
>>> os.chown("oops",uid,gid)
#Étendez les noms relatifs aux noms absolus.
>>> os.path.abspath("oops.txt")
'/Users/practice/bin/oops.txt'
#Obtenez le statut réel du fichier de lien.
>>> os.path.realpath("jeepers.txt")
'/Users/practice/bin/oops.txt'
>>> os.remove("oops.txt")
>>> os.path.exists("oops.txt")
False
>>> os.mkdir("poems")
>>> os.path.exists("poems")
True
>>> os.rmdir("poems")
>>> os.path.exists("poems")
False
>>> os.mkdir("poems")
>>> os.listdir("poems")
[]
#Créer un sous-répertoire
>>> os.mkdir("poems/mcintyre")
>>> os.listdir("poems")
['mcintyre']
>>> fout=open("poems/mcintyre/the_good_man","wt")
>>> fout.write("""Cheerful and happy was his mood,
... He to the poor was kind and good,
... And he oft times did find them food,
... Also suppleis of coal and wood,
... """)
137
>>> fout.close()
>>> os.listdir("poems/mcintyre")
['the_good_man']
>>> import os
>>> os.chdir("poems")
>>> os.listdir(".")
['mcintyre']
>>> import glob
>>> glob.glob("m*")
['mcintyre']
>>> glob.glob("??")
[]
>>> glob.glob("m??????e")
['mcintyre']
>>> glob.glob("[klm]*e")
['mcintyre']
--Lorsque vous exécutez un programme distinct, le système d'exploitation (OS) crée un ** processus **.
Le processus est indépendant et ne peut être ni aperçu ni perturbé.
Le système d'exploitation gère tous les processus en cours d'exécution.
Les données de processus sont également accessibles à partir du programme lui-même → Utilisez le module os de la bibliothèque standard.
>>> import os
#Obtenez l'identifiant du processus.
>>> os.getpid()
40037
#Obtenez le répertoire actuel.
>>> os.getcwd()
'/Users/practice/bin/poems'
#Obtenez l'identifiant de l'utilisateur.
>>> os.getuid()
501
#Obtenez l'identifiant du groupe.
>>> os.getgid()
20
>>> import subprocess
>>> ret=subprocess.getoutput("date")
>>> ret
'Mardi 28 janvier 2020 11:17:59 JST'
>>> ret=subprocess.getoutput("date -u")
>>> ret
'Mardi 28 janvier 2020 02:19:40 UTC'
>>> ret=subprocess.getoutput("date -u | wc")
>>> ret
' 1 5 48'
#Accepte une liste de commandes et d'arguments.
>>> ret=subprocess.check_output(["date","-u"])
>>> ret
b'2020\xe5\xb9\xb4 1\xe6\x9c\x8828\xe6\x97\xa5 \xe7\x81\xab\xe6\x9b\x9c\xe6\x97\xa5 02\xe6\x99\x8222\xe5\x88\x8605\xe7\xa7\x92 UTC\n'
#Un code d'état et une sortie taple sont renvoyés.
>>> ret=subprocess.getstatusoutput("date")
>>> ret
(0, 'Mardi 28 janvier 2020 11:26:35 JST')
#Appel pour recevoir uniquement l'état de fin()utilisation.
>>> ret=subprocess.call("date")
Mardi 28 janvier 2020 11:27:05 JST
>>> ret
0
>>> ret=subprocess.call("date -u",shell=True)
Mardi 28 janvier 2020 02:30:49 UTC
>>> ret=subprocess.call(["date", "-u"])
Mardi 28 janvier 2020 02:34:41 UTC
--Utilisez le module multitraitement pour exécuter les fonctions Python en tant que processus séparés. Vous pouvez même exécuter plusieurs processus indépendants dans un seul programme.
mp.py
import multiprocessing
import os
def do_this(what):
whoami(what)
def whoami(what):
print("Process %s says: %s" % (os.getpid(), what))
#Process()La fonction démarre un nouveau processus et exécute celui spécifié par target en affectant l'argument spécifié par args.
#Lorsque vous faites un argument avec args, si vous ne mettez pas de virgule à la fin, il sera reconnu comme une chaîne de caractères et le résultat sera étrange.
if __name__ == "__main__":
whoami("I'm the main program")
for n in range(4):
p = multiprocessing.Process(target=do_this, args=("I'm function %s" % n,))
p.start()
Résultat d'exécution
python mp.py
Process 40422 says: I'm the main program
Process 40438 says: I'm function 0
Process 40439 says: I'm function 1
Process 40440 says: I'm function 2
Process 40441 says: I'm function 3
termina.py
import multiprocessing
import time
import os
def whoami(name):
print("I'm %s, in process %s" % (name, os.getpid()))
def loopy(name):
whoami(name)
start = 1
stop = 1000000
for num in range(start, stop):
print("\tNumber %s of %s. Honk!" % (num, stop))
time.sleep(1)
if __name__ == '__main__':
whoami("main")
p = multiprocessing.Process(target=loopy, args=("loopy" ,))
p.start()
time.sleep(5)
p.terminate()
Résultat d'exécution
python termina.py
I'm main, in process 40518
I'm loopy, in process 40534
Number 1 of 1000000. Honk!
Number 2 of 1000000. Honk!
Number 3 of 1000000. Honk!
Number 4 of 1000000. Honk!
Number 5 of 1000000. Honk!
#Testez si c'est une année humide.
>>> import calendar
>>> calendar.isleap(1900)
False
>>> calendar.isleap(1996)
True
>>> calendar.isleap(1999)
False
>>> calendar.isleap(2000)
True
>>> calendar.isleap(2002)
False
>>> calendar.isleap(2004)
True
>>> from datetime import date
>>> halloween=date(2014,10,31)
>>> halloween
datetime.date(2014, 10, 31)
#Il peut être récupéré en tant qu'attribut.
>>> halloween.day
31
>>> halloween.month
10
>>> halloween.year
2014
#Le contenu de la date est isformat()Peut être affiché avec.
>>> halloween.isoformat()
'2014-10-31'
#today()Générez la date du jour en utilisant la méthode.
>>> from datetime import date
>>> now=date.today()
>>> now
datetime.date(2020, 1, 28)
>>> from datetime import timedelta
>>> one_day=timedelta(days=1)
>>> tomorrow=now + one_day
>>> tomorrow
datetime.date(2020, 1, 29)
>>> now + 17*one_day
datetime.date(2020, 2, 14)
>>> yesterday=now-one_day
>>> yesterday
datetime.date(2020, 1, 27)
#Utilisez l'objet time du module datetime pour représenter l'heure du jour.
>>> from datetime import time
>>> noon=time(12,0,0)
>>> noon
datetime.time(12, 0)
>>> noon.hour
12
>>> noon.minute
0
>>> noon.second
0
>>> noon.microsecond
0
#L'objet datetime est également isoformat()Ayez une méthode.
>>> from datetime import datetime
>>> some_day=datetime(2014,1,2,3,4,5,6)
>>> some_day
datetime.datetime(2014, 1, 2, 3, 4, 5, 6)
>>> some_day.isoformat()
'2014-01-02T03:04:05.000006'
#datetime obtient la date et l'heure actuelles maintenant()Ayez une méthode.
>>> from datetime import datetime
>>> x=datetime.now()
>>> x
datetime.datetime(2020, 1, 28, 13, 59, 8, 731311)
>>> x.year
2020
>>> x.day
28
>>> x.hour
13
>>> x.minute
59
>>> x.second
8
>>> x.microsecond
731311
#Vous pouvez combiner des objets de date et d'heure avec combiner.
>>> from datetime import datetime,time,date
>>> noon=time(12)
>>> this_day=date.today()
>>> noon_today=datetime.combine(this_day,noon)
>>> noon_today
datetime.datetime(2020, 1, 28, 12, 0)
>>> noon_today.date()
datetime.date(2020, 1, 28)
>>> noon_today.time()
datetime.time(12, 0)
--Il existe un module de temps en plus de l'objet de temps du module datetime. → La fonction time () du module time renvoie l'heure Unix.
>>> import time
>>> now=time.time()
>>> now
1580188038.071847
#ctime()Vous pouvez utiliser pour convertir l'heure Unix en une chaîne.
>>> time.ctime(now)
'Tue Jan 28 14:07:18 2020'
#localtime()Renvoie la date et l'heure en heure standard sur le système.
>>> time.localtime(now)
time.struct_time(tm_year=2020, tm_mon=1, tm_mday=28, tm_hour=14, tm_min=7, tm_sec=18, tm_wday=1, tm_yday=28, tm_isdst=0)
#gmttime()Renvoie l'heure en UTC.
>>> time.gmtime(now)
time.struct_time(tm_year=2020, tm_mon=1, tm_mday=28, tm_hour=5, tm_min=7, tm_sec=18, tm_wday=1, tm_yday=28, tm_isdst=0)
#mktime()Est une structure_time Convertit un objet en heure Unix.
>>> tm=time.localtime(now)
>>> time.mktime(tm)
1580188038.0
#ctime()Convertit l'heure Unix en chaîne.
>>> import time
>>> now=time.time()
>>> time.ctime(now)
'Tue Jan 28 14:15:57 2020'
>>> import time
#strftime()Utilisez le spécificateur de format de.
>>> fmt="""It is %A,%B,%d,%Y, local time %I:%M:%S%p"""
>>> t=time.localtime()
>>> t
time.struct_time(tm_year=2020, tm_mon=1, tm_mday=28, tm_hour=14, tm_min=21, tm_sec=10, tm_wday=1, tm_yday=28, tm_isdst=0)
#struct_Convertissez l'heure en chaîne.
>>> time.strftime(fmt,t)
'It is Tuesday,January,28,2020, local time 02:21:10PM'
>>> from datetime import date
>>> some_day=date(2014,7,4)
#Lorsqu'elle est utilisée dans un objet date, seule la date est formatée.
>>> some_day.strftime(fmt)
'It is Friday,July,04,2014, local time 12:00:00AM'
>>> from datetime import time
>>> some_time=time(10,45)
#Lorsqu'il est utilisé dans l'objet de temps, seule l'heure est formatée.
>>> some_time.strftime(fmt)
'It is Monday,January,01,1900, local time 10:45:00AM'
#Inversement, strptime pour convertir une chaîne de caractères en informations de date et d'heure()utilisation.
#Les parties autres que le format enfant doivent correspondre exactement.
>>> import time
>>> fmt="%Y-%m-%d"
>>> time.strptime("2012-01-29",fmt)
time.struct_time(tm_year=2012, tm_mon=1, tm_mday=29, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=29, tm_isdst=-1)
#setlocale()Renvoie la date dans les paramètres régionaux spécifiés.
>>> import locale
>>> from datetime import date
>>> halloween=date(2014,10,31)
>>> for lang_country in ["en_us","fr_fr","de_de","es_es","is_is",]:
... locale.setlocale(locale.LC_TIME,lang_country)
... halloween.strftime("%A, %B, %d")
...
'en_us'
'Friday, October, 31'
'fr_fr'
'Vendredi, octobre, 31'
'de_de'
'Freitag, Oktober, 31'
'es_es'
'viernes, octubre, 31'
'is_is'
'föstudagur, október, 31'
>>> import locale
>>> names=locale.locale_alias.keys()
>>> good_names=[name for name in names if
... len(name)==5 and name[2]=="_"
...
...
... ]
>>> good_names[5]
'ak_gh'
>>> good_names=[name for name in names if
... len(name)==5 and name[2]=="_"]
>>> good_names[5]
'ak_gh'
>>> good_names[:5]
['a3_az', 'aa_dj', 'aa_er', 'aa_et', 'af_za']
>>> de=[name for name in good_names if name.startswith("de")]
>>> de
['de_at', 'de_be', 'de_ch', 'de_de', 'de_it', 'de_lu']
>>> from datetime import date
>>> with open("today.txt","wt") as fout:
... now=date.today()
... now_str=now.isoformat()
... print(now_str,file=fout)
>>> with open("today.txt","rt") as input:
... today_string=input.read()
...
>>> today_string
'2020-01-28\n'
>>> import time
>>> fmt="%Y-%m-%d\n"
#Chaîne de caractères ⇨ strptime pour les informations de date()utilisation.
>>> time.strptime(today_string,fmt)
time.struct_time(tm_year=2020, tm_mon=1, tm_mday=28, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=28, tm_isdst=-1)
>> import os
>>> os.listdir(".")
[`flask2.py`, `pip3.7`, `jeepers.txt`, `villains`, `activate.ps1`, `index.html`, `.DS_Store`, `python3`, `settings.cfg`, `relativity`, `yikes.txt`, `easy_install`, `python`, `pip3`, `ohwel.txt`, `today.txt`, `activate.fish`, `easy_install-3.7`, `bottle3.py`, `zoo.py`, `flask9-2.py`, `test1.py`, `weather.py`, `bottle2.py`, `wheel`, `enterprise.db`, `flask9-3.py`, `links.py`, `__pycache__`, `flask3a.py`, `python3.7`, `test2.py`, `bottle1.py`, `python-config`, `activate_this.py`, `pip`, `bottle_test.py`, `definitions.db`, `flask3b.py`, `menu.xml`, `books.csv`, `mp.py`, `activate.xsh`, `weatherman.py`, `lelatibity`, `termina.py`, `bfile`, `flask3c.py`, `relatibity`, `flask9-5.py`, `sources`, `text.txt`, `templates`, `activate`, `poems`, `books.db`, `flask1.py`, `mcintyre.yaml`, `report.py`, `zoo.db`, `activate.csh`]
>>> import os
>>> os.listdir("..")
['.DS_Store', '61.py', 'bin', 'python', 'include', 'lib']
multi_times.py
import multiprocessing
import os
def now(seconds):
from datetime import datetime
from time import sleep
sleep(seconds)
print("wait", seconds, "second, time is ", datetime.utcnow())
if __name__== "__main__":
import random
for n in range(3):
seconds=random.random()
proc=multiprocessing.Process(target=now, args=(seconds,))
proc.start()
Résultat d'exécution
python3 multi_times.py
wait 0.31146317121366796 second, time is 2020-01-28 06:30:39.446188
wait 0.5162984978514253 second, time is 2020-01-28 06:30:39.650398
wait 0.8005158157521853 second, time is 2020-01-28 06:30:39.934936
>>> from datetime import date
>>> birthday=date(1994, 1, 1)
>>> birthday
datetime.date(1994, 1, 1)
>>> import time
>>> from datetime import date
>>> birthday=date(1994, 1, 1)
>>> fmt="%Y-%m-%d-%A"
>>> date.strftime(birthday,fmt)
'1994-01-01-Saturday'
>>> from datetime import timedelta
>>> day=timedelta(days=10000)
>>> A=birthday+day
>>> A
datetime.date(2021, 5, 19)
Je l'ai revu rapidement. Je veux voir des tutoriels lors de son utilisation.
"Introduction à Python3 par Bill Lubanovic (publié par O'Reilly Japon)"
Recommended Posts