Apendico C - Respondoj al la Praktiko Demandoj
Subtenu la Aŭtoro: Aĉeti la libron sur Amazono aŭ
la libro / ebook pakaĵo rekte Neniu amelo Gazetaro .
Legi la aŭtora aliaj liberaj Python libroj:
Apendico C. Respondoj al la Praktiko Demandoj
Tiu apendico enhavas la respondojn al la praktiko problemoj ĉe la fino de ĉiu ĉapitro. Mi forte rekomendas ke vi prenas la tempon por labori tra tiuj problemoj. Programado estas pli ol enmemorigo sintakso kaj listo de funkcio nomoj. Kiel kiam lerni fremdan lingvon, des pli praktiko vi metis en ĝin, des pli vi ricevos el ĝi. Estas multaj retejoj kun praktiko programado problemoj ankaŭ. Vi povas trovi liston de tiuj ĉe http://nostarch.com/automatestuff/ .
ĉapitro 1
- La operatoroj estas
+
,-
,*
kaj/
. La valoroj estas'hello'
,-88.8
kaj5
. - La ŝnuro estas
'spam'
; la variablo estasspam
. Kordoj ĉiam komenci kaj fini kun citaĵoj. - La tri datumtipoj enkondukitaj en ĉi tiu ĉapitro estas entjeroj, flosanta-punktaj nombroj, kaj kordoj.
- Esprimo estas kombinaĵo de valoroj kaj operatoroj. Ĉiuj esprimoj taksi (te, redukti) al sola valoro.
- Esprimo taksas al sola valoro. Deklaro ne.
- La
bacon
variablo estas agordita20
. Labacon + 1
esprimo ne reassign la valoro enbacon
(kiu bezonus asigno komunikaĵo:bacon = bacon + 1
). - Ambaŭ esprimoj taksi al la kordo
'spamspamspam'
. - Variablo nomoj ne povas komenci per numeralo.
- La
int()
,float()
, kajstr(
) funkcioj taksos al la entjero, komo flotante nombro kaj ŝnuro versioj de la valoro pasis al ili. - La esprimo kaŭzas eraro ĉar
99
estas entjero, kaj nur kordoj povas kroĉitaj al aliaj kordoj kun la+
operatoro. La ĝusta maniero estasI have eaten ' + str(99) + ' burritos.'
.
ĉapitro 2
True
kajFalse
, uzante ĉefurbo T kaj F, kun la resto de la vorto en minuskulajand
,or
, kajnot
True and True
estasTrue
.True and False
estasFalse
.False and True
estasFalse
.False and False
estasFalse
.True or True
estasTrue
.True or False
estasTrue
.False or True
estasTrue
.False or False
estasFalse
.not True
estasFalse
.not False
estasTrue
.falsa falsa veraj falsa falsa veraj
==
,!=
,<
,>
,<=
, Kaj>=
.==
Estas la egala al operatoro kiu komparas du valoroj kaj taksas al Bulea, dum=
estas la asigno operatoro kiu stokas valoron en variablo.- Kondiĉo estas esprimo uzita en fluo kontrolo deklaro kiu taksas al Bulea valoro.
- La tri blokoj estas ĉio ene la
if
komunikaĵo kaj la liniojprint('bacon')
kajprint('ham')
.presi ( 'ovojn') se spamado> 5: print ( 'lardo') alie: print ( 'ham') print ( 'spamado')
- La kodo
se spamado == 1: print ( 'Saluton') elif spamado == 2: print ( 'Howdy') alie: presi ( 'Saluton!')
- Gazetara CTRL -C halti programon ŝtopita en senfina ciklo.
- La
break
deklaro movos la ekzekuto ekstere kaj nur post buklo. Lacontinue
deklaro movos la ekzekuton al la komenco de la ciklo. - Ili ĉiuj faras la samon. La
range(10)
alvoko intervalas de0
ĝis (sed ne inkludita)10
,range(0, 10)
eksplicite diras la buklo komenci ĉe0
, kajrange(0, 10, 1)
eksplicite diras la buklo pliigi la variablo de1
sur ĉiu ripeto. - La kodo
por i en gamo (1, 11): print (i)
kaj:mi = 1 dum i <= 10: print (i) mi = mi + 1
- Tiu funkcio povas esti vokita kun
spam.bacon()
.
ĉapitro 3
- Funkcioj reduktas la bezonon duplikatajn kodon. Tio igas programojn pli mallonga, pli facile legi kaj facile ĝisdatigi.
- La kodo en funkcio ekzekutas kiam la funkcio estas nomita, ne kiam la funkcio estas difinita.
- La
def
deklaro difinas (te kreas) funkcio. - Funkcio konsistas la
def
deklaro kaj la kodo en liadef
klaŭzo.Funkcio alvoko estas kion movas la programo ekzekuto en la funkcio kaj la funkcio alvoko taksas al la funkcio reveno valoro. - Ekzistas unu tutmonda amplekso, kaj loka amplekso estas kreita kiam funkcio estas nomita.
- Kiam funkcio revenas, la loka amplekso estas detruita, kaj ĉiuj variabloj en ĝi estas forgesita.
- Reveno valoro estas la valoro kiun funkcio alvoko taksas al. Kiel ajn valoro, reveno valoro povas esti uzita kiel parto de esprimo.
- Se ne ekzistas reveno deklaro por funkcio, lia reveno valoro estas
None
. - Al
global
deklaro devigos ŝanĝiĝema en funkcio por rilati al la tutmonda variablo. - La datumtipo de
None
estasNoneType
. - Ke
import
deklaron importas modulon nomitaareallyourpetsnamederic
. (Tio ne estas reale Piton modulo, parenteze.) - Tiu funkcio povas esti vokita kun
spam.bacon()
. - Meti la linion de kodo kiu povus kaŭzi eraron en
try
klaŭzo. - La kodo kiu povus potenciale kaŭzi eraron iras en la
try
klaŭzo.La kodo kiu ekzekutas se eraro okazas iras en laexcept
klaŭzo.
ĉapitro 4
- La malplena listo valoro, kiu estas listo valoro kiu enhavas neniujn erojn. Tio estas simila al kiel
''
estas la malplena linio valoro. spam[2] = 'hello'
(Rimarku ke la trian valoron en listo estas je indekso2
, ĉar la unua indico estas0
.)'d'
(Notu ke'3' * 2
estas la ĉeno'33'
, kiu estas pasita alint()
antaŭ esti dividita per11
. Ĉi fine taksas al3
. Esprimoj povas esti uzita kie ajn valoroj estas uzataj.)'d'
(Negativa indeksoj rakonti de la fino.)['a', 'b']
1
[3.14, 'cat', 11, 'cat', True, 99]
[3.14, 11, 'cat', True]
- La operatoro por lerta kunmeto estas
+
, dum la operatoro por replicación estas*
. (Tio estas la sama kiel por kordoj.) - Dum
append()
aldonos valorojn nur al la fino de listo,insert()
povas aldoni ilin ie en la listo. - La
del
komunikaĵo kaj laremove()
listo metodo estas du manieroj por forigi valorojn el listo. - Ambaŭ listoj kaj kordoj povas esti pasita al
len()
, havas indeksoj kaj tranĉaĵoj, uzi enfor
cikloj, esti kroĉitaj aŭ reproduktita kaj uzi kun lain
kajnot in
operatoroj. - Listoj estas mutables; Ili povas esti valoroj aldonitaj, forigitaj, aŭ ŝanĝita. Opoj estas neŝanĝeblaj; Ili ne povas esti ŝanĝita tute. Ankaŭ, opoj estas skribitaj uzante krampoj,
(
kaj)
, dum listoj uzas la rektaj krampoj,[
kaj]
. (42,)
(La fina komo estas deviga.)- La
tuple()
kajlist()
funkcioj, respektive - Ili enhavas referencojn al listo valoroj.
- La
copy.copy()
funkcio faros neprofunda kopion de listo, dum lacopy.deepcopy()
funkcio faros profundan kopion de listo. Tio estas, nurcopy.deepcopy()
duobligos ajna listoj ene la listo.
ĉapitro 5
- Du krispa krampoj:
{}
{'foo': 42}
- La aĵoj stokitaj en vortaro estas neordigitaj, dum la erojn en listo estas ordigita.
- Vi ricevas
KeyError
eraro. - Ne estas diferenco. La
in
operatoro ĉekojn ĉu valoro ekzistas kiel ŝlosilo en la vortaro. 'cat' in spam
ĉekojn ĉu estas'cat'
ŝlosilon en la vortaro, dum'cat' in spam.values()
kontrolas ĉu estas valoro'cat'
por unu el la ŝlosiloj enspam
.spam.setdefault('color', 'black')
pprint.pprint()
ĉapitro 6
- Eskapi karakteroj reprezentas karakterojn en ŝnuro valoroj kiuj devus alie esti malfacila aŭ neebla por tajpi en kodo.
\n
estas lino;\t
estas langeto.- La
\\
eskapo karaktero reprezentos backslash karaktero. - La sola citaĵo en
Howl's
estas fajna ĉar vi uzis citiloj por marki la komencon kaj finon de la ŝnuro. - Multiline kordoj permesos vin uzi linifinojn en kordoj sen la
\n
eskapo karaktero. - La esprimoj taksi al la sekvaj:
'e'
'Hello'
'Hello'
'lo world!
- La esprimoj taksi al la sekvaj:
'HELLO'
True
'hello'
- La esprimoj taksi al la sekvaj:
['Remember,', 'remember,', 'the', 'fifth', 'of', 'November.']
'There-can-be-only-one.'
- La
rjust()
,ljust()
kajcenter()
kordoj metodoj, respektive - La
lstrip()
kajrstrip()
metodoj forigi spaceto de la maldekstra kaj dekstra flankoj de kordo, respektive.
ĉapitro 7
- La
re.compile()
redonasRegex
objektoj. - Raw strings estas uzataj por ke deklivaj streketoj ne devas esti eskapinta.
- La
search()
metodo revenasMatch
objektoj. - La
group()
metodo revenas kordoj de la kongruis tekston. - Grupo
0
estas la tuta matĉo, grupo1
kovras la unua aro de parentezoj, kaj grupo2
kovras la dua aro de parentezoj. - Periodoj kaj krampoj povas eskapi kun backslash:
\.
,\(
Kaj\)
. - Se la regex havas grupojn, listo de kordoj estas redonita. Se la regex havas grupoj, liston de opoj de kordoj estas redonita.
- La
|
karaktero signifas egalante "ĉu, aŭ" inter du grupoj. - La
?
Karaktero povas ĉu meznombro "match nul aŭ unu el la antaŭaj grupo" aŭ uzi por signifi nongreedy trafa. - La
+
egalas aŭ pli. La*
egalas nulo aŭ pli. - La
{3}
egalas ekzakte tri ekzemploj de la antaŭa grupo. La{3,5}
matĉojn inter tri kaj kvin kazojn. - La
\d
,\w
, kaj\s
stenografio karaktero klasoj kongruas ununura cifero, vorto, aŭ spaceto, respektive. - La
\D
,\W
kaj\S
stenografio karaktero klasoj kongruas sola karaktero kiu ne estas cifero, vorto, aŭ spaceto, respektive. - Pasante
re.I
aŭre.IGNORECASE
kiel la dua argumento alre.compile()
faros la trafa kazo sensenta. - La
.
Karakteron normale egalas ajnan karakteron krom la linion karaktero. Sere.DOTALL
trapasintan la dua argumento alre.compile()
, tiam la punkto ankaŭ kongrui linion karakteroj. - La
.*
Elfaras avara matĉo, kaj la.*?
Elfaras nongreedy matĉo. - Ĉu
[0-9a-z]
aŭ[a-z0-9]
'X drummers, X pipers, five rings, X hens'
- La
re.VERBOSE
argumento permesas vin aldoni spaceto kaj komentoj al la ĉeno pasis alre.compile()
. re.compile(r'^\d{1,3}(,\d{3})*$')
kreos ĉi regex, sed aliaj regex kordoj povas produkti similan regula esprimo.re.compile(r'[AZ][az]*\sNakamoto')
re.compile(r'(Alice|Bob|Carol)\s(eats|pets|throws)\s(apples|cats|baseballs)\.', re.IGNORECASE)
ĉapitro 8
- Relativa vojetoj estas relativa al la nuna labordosierujon.
- Absolutaj vojoj komenci kun la bazdosierujo, kiaj / aŭ C: \.
- La
os.getcwd()
redonas la nunan laborante dosierujo. Laos.chdir()
funkcio ŝanĝas la aktualan labordosierujon. - La
.
Leterujo estas la aktuala dosierujo, kaj..
Estas la patra dosierujo. - C: \ lardo \ ovojn estas la dir nomo, dum spam.txt estas la bazo nomo.
- La kordo
'r'
por legado mode,'w'
por registran reĝimo, kaj'a'
por append reĝimo - Ekzistantan dosieron malfermiĝis en registran moduso estas viŝitaj kaj tute anstataŭigataj.
- La
read()
metodo revenas la dosiero tuta enhavo kiel ununura ĉeno valoro. Lareadlines()
metodo revenas listo de kordoj, kie ĉiu linio estas linio el la dosiero enhavo. - Al breto valoro similas vortaro valoro; ĝi havas ŝlosilojn kaj valoroj, kune kun
keys()
kajvalues()
metodoj kiuj funkcias simile al la vortaro metodoj de la sama nomo.
ĉapitro 9
- La
shutil.copy()
funkcio estos kopii unuope, dumshutil.copytree()
kopios tuta dosierujo, kune kun ĉiuj liaj enhavoj. - La
shutil.move()
funkcio estas uzata por alinomi dosierojn, tiel kiel kopii ilin. - La
send2trash
funkcioj movos dosiero aŭ dosierujo al la recicla bin, dumshutil
funkcioj konstante forigi dosierojn kaj dosierujojn. - La
zipfile.ZipFile()
funkcio estas ekvivalenta al laopen()
funkcio; la unua argumento estas la dosiernomo, kaj la dua argumento estas la maniero por malfermi la ZIP-dosiero en (legi, skribi, aŭ append).
ĉapitro 10
assert(spam >= 10, 'The spam variable is less than 10.')
assert(eggs.lower() != bacon.lower(), 'The eggs and bacon variables are the same!')
aŭassert(eggs.upper() != bacon.upper(), 'The eggs and bacon variables are the same!')
assert(False, 'This assertion always triggers.')
- Povi nomi
logging.debug()
, vi devas havi tiujn du liniojn ĉe la komenco de via programo:importado tala logging.basicConfig (nivelo = logging.DEBUG, formato = '% (asctime) s - % (Levelname) s -% (mesaĝo) s ')
- Por povi sendi tala mesaĝojn al dosiero nomata programLog.txt kun
logging.debug()
, vi devas havi tiujn du liniojn ĉe la komenco de via programo:importado tala >>> Logging.basicConfig (dosiernomo = 'programLog.txt', nivelo = logging.DEBUG, formato = '% (asctime) s -% (levelname) s -% (mesaĝo) s')
- DEBUG, INFO, AVERTO, ERROR kaj MALTRANKVILIGAN
logging.disable(logging.CRITICAL)
- Vi povas malaktivigi tala mesaĝojn sen foriganta la tala funkcio alvokoj. Vi povas selekteme malŝalti suba-nivelo tala mesaĝojn. Kreu tala mesaĝojn. Ensalutanta mesaĝojn provizas tempstampo.
- La Paŝo butonon movi la erarserĉilo en funkcio nomita. La Super butono rapide ekzekuti la funkcion alvoko sen tretante en ĝin. La Eksteren butono rapide ekzekuti la resto de la kodo ĝis ĝi paŝas el la funkcio nuntempe estas en.
- Post vi klakas Iru, la erarserĉilo ĉesos kiam ĝi atingis la finon de la programo aŭ linio kun Haltpunkto.
- A Haltpunkto estas enmuzikigo en linio de kodo kiu kaŭzas la erarserĉilo paŭzi kiam la programo ekzekuto atingas la linion.
- Agordi Haltpunkto en sencela, dekstra-klaki la linio kaj elektu Ara Haltpunkto el la kunteksta menuo.
ĉapitro 11
- La
webbrowser
modulo havasopen()
metodo kiu ĵetos retumilo al specifa URL, kaj tio estas ĝi. Larequests
modulo povas elŝuti dosierojn kaj paĝoj de la TTT. LaBeautifulSoup
modulo parses HTML. Fine, laselenium
modulo povas lanĉi kaj kontroli retumilo. - La
requests.get()
funkcio redonasResponse
objekto, kiu havastext
atributo kiu enhavas la elŝutita enhavon kiel linio. - La
raise_for_status()
metodo levas escepton se la elŝuta havis problemojn kaj faras nenion se la malŝarĝo sukcesis. - La
status_code
atributo de laResponse
objekto enhavas la HTTP- statuso kodo. - Post malfermo de la nova dosiero sur via komputilo en
'wb'
"skribi duuma" modo, uzufor
buklo ke ripetas super laResponse
objektoiter_content()
metodon por skribi el pecoj de la dosiero. Jen ekzemplo:savefile = malfermita ( 'filename.html', 'WB) por bloko en res.iter_content (100000): saveFile.write (bloko)
- F12 alportas supren la desarrollador iloj en Chrome. Premante CTRL - klavoj MAJUSKLIGA -C (sur Windows kaj Linux) aŭ ⌘- EBLO -C (sur OS X) alportas supren la desarrollador iloj en Firefox.
- Dekstra-klaki la elemento en la paĝo, kaj elektu Inspekti Elemento de la menuo.
'#main'
'.highlight'
'div div'
'button[value="favorite"]'
spam.getText()
linkElem.attrs
- La
selenium
modulo importitaj kunfrom selenium import webdriver
. - La
find_element_*
metodoj reveni la unua trafa elemento kielWebElement
objekto. Lafind_elements_*
metodoj resendas liston de ĉiuj trafaj elementoj kielWebElement
objektoj. - La
click()
kajsend_keys()
metodoj simuli musklakoj kaj klavaro klavoj, respektive. - Nomante la
submit()
metodon sur ajna elemento ene formo submetas formo. - La
forward()
,back()
, kajrefresh() WebDriver
objekto metodoj simuli tiujn retumilo butonoj.
ĉapitro 12
- La
openpyxl.load_workbook()
funkcio redonasWorkbook
objekto. - La
get_sheet_names()
metodo revenasWorksheet
objekto. - Voku
wb.get_sheet_by_name('Sheet1')
. - Voku
wb.get_active_sheet()
. sheet['C5'].value
aŭsheet.cell(row=5, column=3).value
sheet['C5'] = 'Hello'
aŭsheet.cell(row=5, column=3).value = 'Hello'
cell.row
kajcell.column
- Ili revenas la plej alta kolono kaj vico kun valoroj en la folio, respektive, kiel entjero valoroj.
openpyxl.cell.column_index_from_string('M')
openpyxl.cell.get_column_letter(14)
sheet['A1':'F1']
wb.save('example.xlsx')
- Formulo enkadriĝas same kiel ajna valoro. Starigis la ĉelo
value
atributon al ĉeno de la formulo tekston. Memoru ke formuloj komenci kun la = signo. sheet.row_dimensions[5].height = 100
sheet.column_dimensions['C'].hidden = True
- OpenPyXL 2.0.5 ne ŝarĝi frostitan vitroj, presi titoloj, bildoj, aŭ lertaj.
- Freeze vitroj estas vicoj kaj kolumnoj kiuj ĉiam aperas sur la ekrano. Ili estas utilaj por titolaj.
openpyxl.charts.Reference()
,openpyxl.charts.Series()
,openpyxl.charts. BarChart()
openpyxl.charts. BarChart()
,chartObj.append(seriesObj)
kajadd_chart()
ĉapitro 13
- A
File
objekto revenis deopen()
- Legado duuma (
'rb'
) porPdfFileReader()
kaj skribado duuma ('wb'
) porPdfFileWriter()
- Nomante
getPage(4)
revenosPage
objekto por Pri tiu libro , ekde paĝon 0 estas la unua paĝo. - La
numPages
variablo tendencas entjero de la nombro de paĝoj en laPdfFileReader
objekto. - Voku
decrypt('swordfish')
. - La
rotateClockwise()
kajrotateCounterClockwise()
metodoj. La gradoj turni trapasintan kiel entjero argumento. docx.Document('demo.docx')
- Dokumento enhavas multoblajn alineoj. Paragrafo komenciĝas sur nova linio kaj entenas multnombrajn kurojn. Runs estas apudaj grupoj de karakteroj ene de alineo.
- Uzu
doc.paragraphs
. - A
Run
objekto havas tiujn variablojn (ne Paragrafo). True
ĉiam faras laRun
objekto grasa kajFalse
faras ĉiam ne grasa, negrave kion la stilo estas aŭdaca opcio estas.None
farosRun
objekto ĝuste uzi la stilon de aŭdaca fikso.- Voku la
docx.Document()
funkcio. doc.add_paragraph('Hello there!')
- La entjeroj
0
,1
,2
,3
, kaj4
ĉapitro 14
- En Excel, kalkultabelojn povas havi valorojn de datumtipoj escepte kordoj; ĉeloj povas havi malsamajn tiparojn, grandecoj, aŭ koloro agordojn; ĉeloj povas havi diversajn larĝoj kaj altoj; apudaj ĉeloj povas esti kunfandita; kaj vi povas enigi bildoj kaj grafikaĵoj.
- Vi pasas
File
objekto, akirita de alvoko alopen()
. File
objektoj devas esti malfermita en legado duuma ('rb'
) porReader
celoj kaj skribado duuma ('wb'
) porWriter
objektoj.- La
writerow()
metodo - La
delimiter
argumento ŝanĝas la ŝnuro uzita apartigi ĉeloj en vico. Lalineterminator
argumento ŝanĝas la ŝnuro uzita apartigi vicoj. json.loads()
json.dumps()
ĉapitro 15
- Referenco momento ke multaj Dato kaj tempo programoj uzi. La momento estas januaro 1st, 1970, UTC.
time.time()
time.sleep(5)
- Ĝi redonas la plej proksima entjero al la argumento pasis. Ekzemple,
round(2.4)
revenas2
. - A
datetime
objekto reprezentas specifan momenton en tempo. Atimedelta
objekto reprezentas daŭro de tempo. threadObj = threading.Thread(target=spam)
threadObj.start()
- Certiĝu ke kodo kurante en unu fadeno ne legi aŭ skribi la saman variabloj kiel kodo kurante en alia fadeno.
subprocess.Popen('c:\\Windows\\System32\\calc.exe')
ĉapitro 16
- SMTP kaj IMAP, respektive
smtplib.SMTP()
,smtpObj.ehlo()
,smptObj.starttls()
, kajsmtpObj.login()
imapclient.IMAPClient()
kajimapObj.login()
- Listo de kordoj de IMAP ŝlosilvortoj, kiel ekzemple
'BEFORE <date>'
,'FROM <string>'
, aŭ'SEEN'
- Atribui la variablo
imaplib._MAXLINE
granda entjero valoro, kiel ekzemple10000000
. - La
pyzmail
modulo legas elŝutita retpoŝtojn. - Vi bezonos la Twilio konton SID nombro, la autenticación signo, ke viaj Twilio telefonnumero.
ĉapitro 17
- An RGBA valoro estas opo de 4 entjeroj, ĉiu iras de 0 al 255. La kvar entjeroj respondas al la kvanto de ruĝa, verda, blua kaj alfa (travidebleco) en la koloro.
- Funkcio alvoko al
ImageColor.getcolor('CornflowerBlue', 'RGBA')
revenos(100, 149, 237, 255)
, la RGBA valoro por koloro. - Skatolo opo estas opo valoro de kvar entjeroj: la maldekstra rando x-koordinato, la supera rando y-koordinato, la larĝo kaj la alto, respektive.
Image.open('zophie.png')
imageObj.size
estas opo de du entjeroj, la larĝa kaj la alteco.imageObj.crop((0, 50, 50, 50))
. Rimarku ke vi iras skatolo opo alcrop()
, ne kvar apartaj entjeraj argumentoj.- Voku la
imageObj.save('new_filename.png')
metodo de laImage
objekto. - La
ImageDraw
modulo enhavas kodon por desegni sur bildoj. ImageDraw
objektoj havas formon-desegnado metodoj kielpoint()
,line()
, aŭrectangle()
. Ili revenis por pasi laImage
objekto al laImageDraw.Draw()
funkcio.
ĉapitro 18
- Movi la muson al la supro-maldekstra angulo de la ekrano, tio estas, la (0, 0) koordinatoj.
pyautogui.size()
redonas opo kun du entjeroj por la larĝeco kaj alteco de la ekrano.pyautogui.position()
redonas opo kun du entjeroj por la x- kaj y-koordinatoj de la muso kursoro.- La
moveTo()
funkcio movas la muson al absolutaj koordinatoj sur la ekrano, dum lamoveRel()
funkcio movas la muson relativa al la musa nuna pozicio. pyautogui.dragTo()
kajpyautogui.dragRel()
pyautogui.typewrite('Hello world!')
- Ĉu pasi listo de klavaro klavo kordoj al
pyautogui.typewrite()
(kiel'left'
) aŭ pasi sola klavaro klavo ŝnuro alpyautogui.press()
. pyautogui.screenshot('screenshot.png')
pyautogui.PAUSE = 2
Nenhum comentário:
Postar um comentário