TOPy[W > TOP > pythonɒ > Z^Ă݂悤
@wywm@z[y[W

@@wywm@@
@|Z^Ă݂悤|@@
ŏIXVF2025N13

@܂APythonŏꂽZ^vOFadbook.py̎gĂ܂B
@Kvȃ\[X́A
adbook.pyCadclass.pyCadsub.pyCadglobal.pyłB܂Ƃ߂Ĉ‚̃fBNgɓĂB
@ɁAZ^t@Ci[fBNgadglobal.pyad_pathƂϐɐݒ肵܂B
Pythonł́AfBNgw肷镶'\'́AGXP[vȂ̂ŁAfBNgwɂ'\\'2d˂邱ƂɒӂĉB
@IDLEʂŁAadbook.pyǂݍ[Run]j[[Run Module]NbNƏZ^vON܂BR}hCvvgłAexplorerʂadbook.py_uNbNĂNł܂B
@uƊJnvƕ\ꂽAŏ́AZ^Ȃ̂ŁA

c:correct, d:dup-check, e:end, l:list, r:remove,
s:sequential input, n,p,a,t,m:search
command:

\āAR}h͑҂ɂȂ܂BŎgR}h́App1ŁAc CdCeClCrCsCnCpCaCtCmłB

f[^͂ꍇɂ́AsR}hg܂BR}h͑҂̎ɁA

s[Enter]

ƂƁA̓[hɂȂA

name:

ƕ\ē͑҂ɂȂ܂BO(20ȓ)͂[ENTER]ƁA

postcode:

ƕ\ē͑҂ɂȂ܂BX֔ԍ(3AnCt'-'A4ApłSpłOK)͂[ENTER]ƁA

address:

ƕ\ē͑҂ɂȂ܂BZ͂[ENTER]ƁA

telno:

ƕ\ē͑҂ɂȂ܂Bdbԍ(045-123-4567C090-987-6543̂悤ɁAsOǔԁAsǔԁAdbԍnCt'-Ōт܂BsOǔԂȗĂnCtȂłOKCpłSpłOK)͂[ENTER]ƁA

mail:

ƕ\ē͑҂ɂȂ܂B30ȓ̔pŃ[EAhX(xxxx@yyyy.com̂悤)͂[ENTER](ňꌏ̏Zo^܂)AĂсA

name:

ƕ\ĖO̓͑҂ɂȂ܂BAZ^̃f[^͂𑱂邱Ƃł܂AŁA͂[ENTER]ƁA̓[hI܂Bname:ɑ΂ e  [ENTER]ƂĂ"e"ƂOƔf邾postcode:ƕ\Ē̓[h͏I܂B̓[hIăR}h͂ɖ߂̂́Aname:ɑ΂Ă̂܂[ENTER]ƂłB
@pastcode:Caddress:Ctelno:Cmail:ɑ΂ĉ͂Ȃ
[ENTER]ƁAO͗LŁA̍ڂɂȂ̂ŁAf[^ƂďC[hɈڍs܂B
X֔ԍAdbԍ́ASpœ͂ł܂Apɒēo^܂B

R}h͑҂̎ɁA

c[Enter]

Ɠ͂ƁA

specify data no. following c

ƕ\čēxR}h͑҂ɂȂ܂(AAd`FbNR}hdŏdoꂽ́A c  [ENTER]ŏdf[^ɑ΂C[hɂȂ܂)B
@炩߁A

l[Enter]@(ĺA1ł͂܂BAt@xbgL̏ł)

ƂđSf[^\ĂACf[^̔ԍIсA12ԂƂƁA

c12[Enter]
ƂƁA12Ԃ̃f[^\A12Ԃ̃f[^ɑ΂ďC[hɂȂ܂BC[hɓƁA

modify mode command(n,p,a,t,m,e):

ƕ\ē͑҂ɂȂ܂BO–؎OYɒ̂ł΁A

n–؎OY[Enter]

Ƃ܂BX֔ԍ104-0751ɂ̂ł΁A

p104-0751[Enter]

Ƃ܂BZ𓌋s4-10-35ɂ̂ł΁A

as4-10-35

Ƃ܂Bdbԍ03-1234-5678ɂ̂ł΁A

t03-1234-5678[Enter]

Ƃ܂B[EAhXaoki1973425@gmail.comɂ̂ł΁A

maoki1973425@gmail.com[Enter]

Ƃ܂Bf[^̑OɁAnpatmtĂǂ̃f[^𒼂̂w肵܂BC[h𔲂ăR}h̓[hɖ߂ɂ́A e  [ENTER]Ƃ邩AȂ[ENTER]܂B

R}h͑҂̎ɁA

d[Enter]

Ɠ͂ƁAf[^̏dmFs܂BAȀZ^vOł́AȌd`FbNs܂B̍ڂd`FbN̂ł΁AvO𒼂ĂBdƂ́Admꂽf[^̔ԍdf[^̃Xgɓ̂ŁAāAR}h͑҂ɑ΂āA c  [ENTER]Ƃ邾ŏC[hɈڍs܂B

R}h͑҂̎ɁA

r12[Enter]

Ɠ͂ƁA12Ԃ̃f[^폜܂(̃vOł͈x폜ƌɖ߂܂BUԃobt@ɎcAŕł悤ɂȂAvO𒼂Ă)Bʏ́AdR}hŏd`FbNsAdĂf[^폜̂rR}hg܂(AAr12ƂĂ12Ԃdf[^ǂ̃`FbNsĂ܂)B

@R}h͑҂̎ɁA

nOY[Enter]

Ɠ͂ƁAOɁuOYv܂ރf[^񋓂ďC[hɈڍs܂Bu㓿OYvuѓOYvuOY֕vvI܂B񋓂ꂽf[^‚ꍇɂ́A

which? enter no.:

ƕ\̂ŁACf[^̃f[^ԍ͂ƏC[hɈڍs܂B

p011[Enter]

ȂA011܂ޗX֔ԍ̃f[^I܂B

a[Enter]

ȂAZɓ܂ރf[^I܂B

t045[Enter]

ȂAdbԍ045܂ރf[^I܂B

mminato[Enter]

ȂA[EAhX"minato"܂ރf[^I܂B

@R}h͑҂̎ɁA

e[Enter]

邢́AꂸɒPɁA

[Enter]

ƂƁAZ^vOIAf[^()Z^t@Cɏo܂BZ^́Aadglobal.pyad_pathƂϐɎw肵fBNgɁACadbook.pybookNX̃CX^XƂɎw肵Õt@Cō쐬܂B쐬ꂽZ^t@C\vZ\tgEXCELłǂݍ߂悤ɁAcsvt@CƂďo͂܂B

@xZ^t@C쐬ƁAȍ~AZ^vONƁAZ^ǂݍňꗗ\ĂAR}h͑҂ɂȂ܂B

@LɃ\[XR[hꂽy[Wւ̃N\Ă܂BNRs[āAWindows̃A邢́Ap̃GfB^Ƀy[XgAR[hFUTF-8ŁAw肳ꂽt@C(gq"py")ŕۑApB

adbook.py
adclass.py
adsub.py
adglobal.py


@̏dvȃ|CgɐGĂ܂B
@̏Z^ł́AZ^t@C̃f[^ǂݍ񂾂̂ɁAVK̃f[^L[{[hlj͂AVɏZ^t@CɏoAƂlłłĂ܂B
@܂At@C̓o͂łA
Pythonł́ǍƓlɁA܂Aopen()Ƃ֐Ńt@CJAt@CEIuWFNgread()\bhœǂݍ݁Awrite()\bhŏ݁AǂݍݏݏIɃt@CEIuWFNgclose()\bhŃt@C‚AƂ菇ɂȂ܂B
@Z^t@ĆACSVt@CƂĕ\vZ\tgEXCELłǂݍ߂悤ɁAef[^AOAX֔ԍAZAdbԍ','ŋ؂Ċi[悤ɂ܂B4‚̍ڂ̂ŁA','1‚̃f[^3‚͂łB{Z^vOł́AIuWFNgstr1count()\bhg','̌𐔂A3‚łȂ΃G[ɂĂȌ̏sȂ悤ɂ܂BɑAIuWFNgstr1split()\bhpāAstr1','ŕďZ^t@C1s疼OAX֔ԍAZAdbԍXgdɎo܂BXgdɂ́A[O,X֔ԍ,Z,dbԍ]Ƃ悤Ƀf[^܂B

@̌AXgdA1‚ƒf[^oāANXpersoñCX^Xe쐬AéAXgpersoñXgłZ^IuWFNgbookappend()\bhpāAbookɕt܂Bappend()\bh́AXgɗvft郊Xg̃\bhłB

@t@C݂ɂẮAfor c in bookƂāAbookIuWFNg̒ɁAZ^̌•ʃf[^c݂胋[v܂Bc̓NXpersoñCX^Xł郊XgEIuWFNgŁAOAX֔ԍAZAdbԍĂ܂BCSVt@Č`ŏo͂邽߂ɁAadclass.pyɁAcsvline()ƂNXpersoñ\bh܂B̃\bh́AOAX֔ԍAZAdbԍ','ł‚Ȃreturn܂B́Astr1Ƃ܂A

str1 = "%s,%s,%s,%s" % (self.name, self.postcode, self.address, self.telno)

̃\bhc.csvline()Ƃ悤ɌĂяoƁAcƂXgEIuWFNgselfƂāAselfname, postcode, address, telnoƂevfA%s(o)Ƃ`ŁAstr1Ƃɏo͂܂BƂ́Ac.csvline()̖߂lƂĂłĂ镶At@CEIuWFNgfd1write()IuWFNgŃt@CɏނƂƂɂȂ܂B
Z^IuWFNgbookŜɂ‚āAZ^f[^t@Cɏ񂾂AŌɁAfd1.write('\n')ƂāA1[LF]݂܂Bwrite()\bh̍ŏ[LF]ł悤łAŌ̍s[LF]ȂԂŏIĂ܂łB[LF]̕R[h(16i0A)́A
Pythonł'\n'ƕ\܂B

Z^t@CǂݍނƁAL[{[h̏Z^͂Ɉڂ܂BL[{[h̓͂ɂ́Ainput()֐g܂Binput()֐ł́AɕnƂŁAvvg\ł܂Bvvgƌ̂́AL[͂vOɕ\镶̂ƂłBPɉʏŃL[͑҂ɂȂĂ΂悢̂킩܂BŁAʂɁA

OF

ƕ\ĂL[͑҂ɂȂ悤ɂ܂B̂߂ɂ́Aname = input("OF")Ƃ܂BăL[͂[ENTER]L[΁A͂ꂽnameƂϐɓ܂Bpostcode = input("X֔ԍ(012-3456)F")Ƃ΁AʂɁAvvg

X֔ԍ(012-3456)F

ƕ\ăL[͑҂ɂȂ܂BL[͂[ENTER]L[΁A͂ꂽpostcodeƂϐɓ܂B(012-3456)ƏĂ̂́Â悤Ȍ`œ͂悤ɑ߂łBlɂāAZAdbԍ͂܂Be͂̌ŁAlen()֐pāA̒߂Ă܂Bname"–؎OY"ƓĂƂAlen(name)4ɂȂ܂(R[hUTF-8ɂĂ邩łAShift-JISɂ8ɂȂ̂m܂)Blen(name)0ɂȂƂ́AnameƂĉL[͂ȂƂӖȂ̂ŁAcont_flag = FalseƂďł؂ɂĂ܂B

{Z^vOł͏Zf[^͂̑OɁA

if cont_flag:
while cont_flag2:

2sĂ܂B́AZ^t@C̓ǂݍ݂ɐ(cont_flag = TrueɂȂĂ)ƂZf[^̓͂ƃt@Co͂sAZf[^͂Ă(cont_flag2 = TrueɂȂĂ)͏JԂAƂӖłB


TOPy[Wɖ߂@@
TOP@@
wywmē@@
w̃y[W@@
̃y[W@@
yVuO@@
wywmuO@@
wywmtwitter@@
񍐃uO@@
vCoV[E|V[


yLz@LłB̊F܂̂x肽A낵肢܂B
yLz@L͂܂łłB

© 2005-2025@F(L)