- Computex 2024: monstrumhűtő a DeepCoolnál (videóval!)
- Computex 2024: szimpatikus Montech billentyűzetek a porondon
- Computex 2024: háznézőben a Montech asztalainál
- Computex 2024: kompakt AIO-k és tápegységek a Montech receptje alapján
- Computex 2024: a Ducky klaviatúrái sem restek felülni az analóg vonatra
Hirdetés
-
Computex 2024: háznézőben a Montech asztalainál
ph A vállalat sok portékájának közös vonása, hogy a csatlakozóikat túlsó felükre száműző alaplapokat és az óriásira hízott VGA-kat is tárt karokkal várják.
-
10 éve nem változott ekkorát a Netflix tévés appja
it A Netflix útnak indította a megújult tévés appját, amely az első nagy felújítást jelenti az utóbbi 10 évben.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
Új hozzászólás Aktív témák
-
#82595328
törölt tag
válasz Regirck #1600 üzenetére
A kérdésedből semmi nem világos.
- Hogy néz ki a txt fájl?
- Ugyanaz a szerkezete mint amit hozzá akarsz adni?
- Mit értesz index alatt? Minek külön index?
- Hogy olvasod be a txt fájlt?Én valahogy úgy képzelem a folyamatot, hogy:
1. Van egy listád txt-ben.
2. Ezt beolvasod egy változóba.
3. Ezt a változót szerkeszted
a, hozzáadsz
b, törölsz
4. A végén kiírod txt-be.Ez nem tűnik túl bonyolultnak. Mi nem megy?
-
cousin333
addikt
válasz Regirck #1600 üzenetére
Amint már mások is írták akad itt még pár eldöntendő kérdés.
A legegyszerűbb megoldás szerintem néhány függvény: a beolvas, hozzaad és a torol.
fajl = 'd:\\szovegfajl.txt'
def beolvas():
with open(fajl, 'r') as file:
lista = [line.strip('\n') for line in file]
return lista
def hozzaad(elem):
lista.append(elem)
with open(fajl, 'w') as file:
for i in lista:
file.write(i + '\n')
def torol(sorszam):
_ = lista.pop(sorszam)
with open(fajl, 'w') as file:
for i in lista:
file.write(i + '\n')Vagy valami ilyesmi...
[ Szerkesztve ]
"We spared no expense"
-
Regirck
senior tag
válasz cousin333 #1604 üzenetére
Sziasztok, bocs a késői válaszért.
Suliba kell csinálni egy ilyen feladatott, de ez előtt nem nagyon Python-oztam, így megakadtam benne.
A lényeg, hogy van egy üres .txt fájlunk amit felkell tölteni user által bevitt adatokkal terminálból. Az első bevit adatt lenne:
1. autó
2. bicikli
3. repülőazaz ilyen lista szerűen vinni be (indexxelve). Utána ha kitörölnénk a 2.-es indexet akkor így nézne ki.
1. autó
2. repülőLényegében egy adatbázis kellene csinálni amit végül csak .txt-be mentődik. Az adatbázis meg egy szimpla index + stringből állna. Ezt utána terminálos arguments-ekkel tudni kell müködtettni.
Azóta nem sok időm volt foglalkozni vele, így a kód elégé kezdetleges.
def read():
file = open("/home/regirck/Python/storage.txt", "r")
print(file.read())
line = 0
for line in file.readlines():
print(line)
line = line + 1
file.close
def write():
file = open("/home/regirck/Python/storage.txt", "w")
index = 1
value = (index, "car")
myString = str(value)
file.write(myString)
file.close
write()
read() -
llacee
őstag
Sziasztok!
Segítséget szeretnék kérni, nagyon kezdő vagyok Rpi és Pythonban is, eddig csak Java-hoz volt szerencsém.
RPi3 és egy 5V-os relé párosnál szeretném megoldani, hogy ki gomb lekapcsolja, be gomb bekapcsolja a relét.
25 variációt kipróbáltam és nem akar menni, hol rontom el?
Olyan, mintha a függvényt meg sem hívná, hanem az inicializálásnál bekapcsol, ablak bezáráskor kikapcsol...
Legutolsó változat:import tkinter as tk
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(22, GPIO.OUT) #Ilyenkor már High-ba teszi az állapotot, behúz a relé.
root = tk.Tk()
frame = tk.Frame()
frame.pack()
def low():
GPIO.output(22,0)
def high():
GPIO.output(22,1)
button1 = tk.Button(frame,
text="Ki",
fg="red",
command=low)
button1.pack(side=tk.LEFT)
button2 = tk.Button(frame,
text="Be",
command=high)
button2.pack(side=tk.LEFT)
GPIO.cleanup() #kikapcsol a reléLétre jön a frame a gombokkal, de nem reagál, nem értem továbbá, hogy a GPIO.setup(22, GPIO.OUT), nál mért kapcsol be a relé. Ezzel csak inicializálom a kimenetet. De frame és gombok nélkül csak szekvenciális futtatásnál is ez a gond.
Köszönöm szépen!
[ Szerkesztve ]
-
#82595328
törölt tag
válasz Regirck #1605 üzenetére
Pár megjegyzés:
- Az index változó minek? Egyáltalán minek indexelni? Csak mert ott az index függvény. Feltéve hogy az elemek különbözők.
Pl:lista = ['a', 'b', 'c', 'd '];
for elem in lista:
print (lista.index(elem)+1, elem )Ez kb. ugyanígy működne fájlba kiíratáskor is.
- A fájl megnyitásra inkább használd a with open szerkezetet.
- Éppen függvényekkel is megcsinálhatod a feladatot, de egyelőre csaj feleslegesen bonyolítod a dolgot vele. -
alec.cs
tag
Sziasztok!
A véleményetekre lennék kíváncsi.
Adott egy python program (most nem is ez a lényeg) és hozzá tartozó .mo fájlal (fájlokkal) a többnyelvűség miatt. Például: hu.mo, en.ho, de.mo, ...
A ,po fájlból -> .mo fájl áll elő.
A kérdésem az, hogy a .po fájlba szerintetek bele építhető például változó, nem csak egyszerű szöveg?
Mondok rá példát (.po):
Egyszerű szöveg:
msgid "m"
msgstr "méter"Változó:
msgid "hossz_m"
msgstr "méter"Tehát ha van egy .py fájl benne a következővel -> _("hossz_m") , akkor az mennyire megfelelő?
Nyilván működik, de mennyire alkalmazható?
Ha változó van használva, akkor minden más nyelvhez tartozó .po fájlba be kell építeni a "hossz_m" msgid-t, mert ha nincs beépítve, akkor esetleg így íródik ki a helyettesítő szöveg: " 1 hossz_m" a "1 méter" helyett.
Remélem érthető, hogy mit is kérdezek.
Várnám a véleményeteket ezzel kapcsolatban. Végül is ez elvi kérdés, nem gyakorlati (mind a két esetben jól működik a kód).
- - - - - -
Példa program:
teszt.py ->
...
def hossz:
return _("hossz_m")
...print hossz(15)
Hozzá tartozó .po fájlok:
hu.po:
msgid "hossz_m"
msgstr "méter"en.mo:
msgid "hossz_m"
msgstr "meter"Így jól működik, de az en.po fájlba is kell a msgid. A másik esetben, mikor msgid="m" van a hu.po-ban és _("m") van a .py fájlban, akkor nem szükséges a többi .po fájlba rakni a msgid-t, mert mindig érthetően íródik ki a print hossz(15). -> "15 m"
Tehát, akkor várnám a véleményeiteket...
-
KEAN
tag
Hali,
az Rpi-hez én sem értek, de némi netes keresgélés után nekem úgy tűnik, hogy GPIO.setup()-nak, van még egy default paramétere: initial=GPIO.HIGH.
Szóval én a kérdéses parancsot így adnám ki:GPIO.setup(22, GPIO.OUT, initial=GPIO.LOW)
... vagy valami hasonló."Persze, hogy tudtam, csak nem sejtettem!"
-
sztanozs
veterán
válasz djcsabii #1613 üzenetére
Az lehet a gond, hogy email.py-nek nevezted el a fájlt. Nevezd át, és vsz menni fog.
Ha akkor sem megy, akkor kell majd még az email csomagot installálni:pip install email
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Zed895
csendes újonc
Sziasztok,
kernek egy kis segitseget: python3.5-ot hasznalok IDLE-vel, Debian 9 alatt.
Nem tudok pygame-t telepiteni a python3.5 ala, csak a python2.7 alatt mukodik.
Felturtam mar a fel netet, de ha Debian akkor csak python2-hoz van ertelmes segitseg, python3-hoz csak windows ala talaltam. Szoval megkoszonnem ha valakinek van otlete, hogy pygame-t hogy telepitsek python3.x-hez.
Koszonom.Debian 9,5
-
Zed895
csendes újonc
válasz velizare #1617 üzenetére
Koszi, de ez nekem magas. Kivalasztom az ubuntut (mivel a listan levok kozul az hasonlit leginkabb a Debianra) es mondjuk a pip -en keresztuli installt es olyan parancsokat latok amiket nem ertek pl.: "hg". Megnezem a hg man oldalat es nincs ilyen entry. Jo, akkor google-zak ra, hogy mi az a "hg"? Ez csak ket betu sose talalom meg google-val, man page meg ugye nincs hozza. Es ez csak az egyik parancs amit nem ertek. Azt meg nem merem megkockaztatni, hogy csak copy-paste a parancsokat aztan majd lesz valami...
Remeltem, hogy a Debian repositorybol fel tudom tenni egyszeruen, onnan fel is ment, de csak python2.x-el mukodik, en meg 3.x -et hasznalok IDLE -vel.
Amugy azt hiszem elosszor a PIP-et kellene fetennem:
https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers
de itt a Debian szekcio alatt ezt irja: "Recent Debian/Ubuntu versions have modified pip to use the “User Scheme” by default, which is a significant behavior change that can be surprising to some users." -ez mit jelent, aggodjak miatta vagy ignoraljam?Koszi,
Z.[ Szerkesztve ]
Debian 9,5
-
-
nagyúr
itt ugye a sztori azzal kezdődik, hogy
#install dependencies
sudo apt-get install mercurial
és még sok minden más.
a mercurial egy forráskód management tool, olyan, mint a git. a bitbucket viszont mercurial repót használ, ezért kell. a hg clone paranccsal lemásolod a mögötte szereplő urlen található repositoryt.Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.
-
Zed895
csendes újonc
válasz velizare #1620 üzenetére
Koszi, akkor most szeretnek elnezest kerni, az altalad javasolt honlapon szepen erthetoen minden le van irva, csak tegnap ejjel amikor feltettem a kerdest, akkor mar tul faradt voltam, hogy felfogjam mi van, ma meg ugye beparaztam a "Recent Debian/Ubuntu versions have modified pip to use the “User Scheme” by default, which is a significant behavior change that can be surprising to some users." -tol.
De feltettem a hianyzo ket csomagot, aztan pip-el siman felment python3.x ala is szepen.
Koszonom.@Kovisoft
Koszi!Debian 9,5
-
sztanozs
veterán
válasz cousin333 #1624 üzenetére
Miért kell Anakonda? CP + PIP-pel bármilyen csomagot le lehet húzni, ami a kondában van. Ráadásul mostmár a CP is telepíthető admin nélkül is.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
addikt
válasz sztanozs #1625 üzenetére
Az egyik lynda-s data science tutorialban a 'system python'-tol valo szeparacio volt az indok.
"I do not recommend using your system Python for development in this course, for the following reasons: one disadvantage of using the system Python for real development is that changes to the environment could potentially have an impact on the system for Mac and Linux users, Windows does not use Python for system tasks, and so is unaffected by this issue; another disadvantage is that making changes to the system Python usually requires root, super-user, or administrator level access, which is fine for user's personal desktop, but on shared systems and many corporate computers, it can become a hassle, even installing packages can be a real challenge if users do not have elevated privileges; for Windows users, a final disadvantage of using out-of-the-box Python, is that Windows users often lack compilers and other development tools."
-
KEAN
tag
válasz 0xmilan #1626 üzenetére
"a 'system python'-tol valo szeparacio"
A Virtualenv pont erre való: https://virtualenv.pypa.io/en/stable/
Régen én se használtam, ma meg már el sem bírom képzelni, hogy enélkül dolgozzak."Persze, hogy tudtam, csak nem sejtettem!"
-
BoB
veterán
You may corrupt the souls of men, but I am steel. I am doom.
-
veterán
Sziasztok,
Egy furcsa formátumú idő bélyeget szeretnek emberi formátumra átkonvertálni, de nem boldogulok vele.
Ez lenne a formátum: Mon Jul 23 14:54:00 +0000 2018
És olyanra szeretném hogy YYYY-MM-DD HH:MM:SS
Mi erre a metódus?
Előre is köszönöm a segítséget. -
nagyúr
van egy olyan kínom, hogy 3.5-6 alatt a csv modul kényszeresen konvertál minden intet floatba, és mögétesz egy .0 taget.
van ötlet, hogy lehet erről lebeszélni? a doksija azt írja, hogy csak a writerquoting=csv.QUOTE_NONNUMERIC
megadásánál kéne csinálnia, énquoting=csv.QUOTE_ALL
-t használok, delimiterrel, aszt mégis csinálja...a kód:
try:
snames=['db_1', 'db_2', 'db_3']
for i in range(len(snames)):
tnames=['table_1']
for j in range(len(tnames)):
export_all = export_2_file(servicename=snames[i])
export_all.csv_init('2018_07_31', snames[i] + '_' + tnames[j])
export_all.export_2_csv(tnames[j])a használt függvények:
import csv
import time
from connect_2_db import connect_2_db
class export_2_file():
def __init__(self, servicename=False):
#instancing db connection
if servicename:
self.cdb = connect_2_db(servicename)
if not servicename:
self.cdb = connect_2_db()
self.cdb_brdb = self.cdb.brdb()
def csv_init(self, csvdir, csvname, master=False):
self.timestr = time.strftime("%d-%m-%Y_%H_%M_%S")
filename = str(csvdir)+'\\'+str(csvname)+'_'+self.timestr+'.csv'
self.filename_act = filename
self.resultcsv = open(filename, "w", encoding="iso-8859-15", newline='')
self.output = csv.writer(self.resultcsv, delimiter=';', quotechar='"', quoting=csv.QUOTE_ALL)
def export_2_csv(self, tablename):
#create and execute query sql
self.sql = u"SELECT column_name FROM all_tab_cols WHERE table_name ='"+tablename+"' AND column_name NOT IN ( 'REFERENCE_TUPLE_ID', 'INSERTDATE' ) order by column_id asc"
self.cdb.exec_one(self.sql)
self.preselect = self.cdb.cursor.fetchall()
self.preselect_str = str([' '.join(item) for item in self.preselect]).strip('[]').replace("'", "")
#using the previous query result to create the select
#to query target table without having the fixed cells like sysdate, sequences, etc.
try:
self.sql_select = u"select "+self.preselect_str+" from "+tablename+" order by "+self.preselect_str
except:
pass
else:
self.result = self.cdb.exec_one(self.sql_select)
for row in self.result:
self.output.writerow(row)
print("\nExport "+tablename+" table succcess")
self.cdb.db_disc()
self.resultcsv.close()anonimizált részlet az eredményfileból
"customer_1";"customer_network";"2018-07-30 00:00:00";"31.0";"random error message'";"000000000000001"
a konvertált mező number típusú az oracleben.
[ Szerkesztve ]
Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.
-
nagyúr
válasz velizare #1632 üzenetére
ja az exec_one() az egy sima
def exec_one(self, sql, commit=False, talkback=False):
try:
self.cursor.execute(sql)meg némi debug rész utána, +opcionális commit.
[ Szerkesztve ]
Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.
-
nagyúr
-
kezdosql
tag
Tudja valaki, melyik az az ingyenes program, amivel python, php es tobb mas programnyelven irt programot lehet strukturaltan latni es szerkeszteni?
Ugy ertem, automatikusan tabulalja a sorokat mutatva a rutinok elejet es veget, kiemelve a parancsokat, stb.
-
-
Szőrös
veterán
Sziasztok, nagyon kezdő pythonosként kérnék egy kis segítséget, nézek egy oktatóvideót és az alapján haladok. File írással van egy kis gond.
Ez a nagyon egyszerű írás rendesen lefut és meg is történik a fileba írás:filehandle = open("teszt.txt",'w')
filehandle.write("Hello World2")
filehandle.close()Ez is lefut, létre is jön a file, de nem íródik bele semmi:
import time
import random
print("itten most fileba irok")
filehandle = open("teszt2.txt", 'w')
random.seed(3)
for x in range(0, 10):
time.sleep(0.3)
y = random.randint(0, 100)
print("loop number: " + str(x) + " random number = " + str(y))
filehandle.write("Random number, index:" +str(x)+ "randomNumber:" +str(y)+"\n")
filehandle.close
print("end")Nem értem miért, vscode-ban próbáltam először, , aztán idle-ben, de nem akarja az igazságot.
Mi a tököt rontok el?https://starcitizen.hu ha tudni akarod mi újság az univerzumban
-
justmemory
senior tag
Szia,
ugyan nem használtad a beépített kód formázást a hozzászólásodban, így a magam esze szerint teszteltem; nálam python 2.5 alatt (nyilván a
print
parancsot átírva) .py kiterjesztésű file-ba kiírva és úgy futtatva működik...import time
import random
print("itten most fileba irok")
filehandle = open("teszt2.txt", 'w')
random.seed(3)
for x in range(0, 10):
time.sleep(0.3)
y = random.randint(0, 100)
print("loop number: " + str(x) + " random number = " + str(y))
filehandle.write("Random number, index:" +str(x)+ "randomNumber:" +str(y)+"\n")
filehandle.close
print("end")[ Szerkesztve ]
--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---
-
Szőrös
veterán
válasz justmemory #1641 üzenetére
Bocsesz, a formázást elfelejtettem de úgy csináltam ahogy Te is.
Most kipróbáltam a pi3-on is linux alatt, ott rendesen működik nekem is. Azon 3.4.2-es python verzió van, win10-en meg 3.6.5 de gondolom ez nem olyan nagy eltérés, főleg, hogy az első kóddal működik.#1642) EQMontoya: létrejön, direkt néztem, de ki is töröltem a file-t, aztán futtatás után létre is jött csak üresen.
[ Szerkesztve ]
https://starcitizen.hu ha tudni akarod mi újság az univerzumban
-
EQMontoya
veterán
Ez elég fura.
Próbáld ki pls, hogy with-tel használod a filet.
Valahogy így:
with open("akarmi.txt","w") as outfile:
outfile.write("Akkorisbelemesz, kocsoooog!");(ilyenkor nem kell close, a with block végén automatikusan megtörténik. Bővebben lásd: RAII pattern)
[ Szerkesztve ]
Same rules apply!
-
Szőrös
veterán
válasz EQMontoya #1644 üzenetére
Működik, megy a file-ba írás, de ezzel is megy:
filehandle = open("teszt.txt",'w')
filehandle.write("Hello World2")
filehandle.close()A probléma a másik kódnál van, amiben stringet akarok file-be írni, na az nem akar működni a win-es gépen.
[ Szerkesztve ]
https://starcitizen.hu ha tudni akarod mi újság az univerzumban
-
justmemory
senior tag
Szia,
hát akkor indulhat a debug
Én kb. ebben a sorrendben próbálnám:
import time
import random
print("itten most fileba irok")
filehandle = open("teszt2.txt", 'w')
filehandle.write("Random number, index:")
filehandle.close
print("end")Ha ez működik, akkor maga az írás funkcióval nincsen gond, mással lesz a hiba. Következő:
import time
import random
print("itten most fileba irok")
filehandle = open("teszt2.txt", 'w')
for x in range(0, 10):
time.sleep(0.3)
filehandle.write(str(x)+"\n")
filehandle.close
print("end")Ha ez is működik, akkor a string-é konvertálással sincsen gond, tehát ismét máshol van a baki. Ha ez nem íródna ki, akkor "B" verzióban meg lehetne próbálni, hogy:
import time
import random
print("itten most fileba irok")
filehandle = open("teszt2.txt", 'w')
for x in range(0, 10):
time.sleep(0.3)
z = str(x)
filehandle.write(z+"\n")
filehandle.close
print("end")Egyelőre ennyi az ötlet, meglátjuk mi a helyzet...
--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---
-
nagyúr
a close függvény. helyesen
filehandle.close()
. nem csoda, hogy a file-t létrehozza, de nem csinál semmit. ha kilövöd a py kernelt, akkor persze megjelenik a file, benne a tartalommal, mert a garbage collector lezárja neked.ja és javasolt kirakni cikluson kívülre.
import time
import random
print("itten most fileba irok")
filehandle = open("teszt2.txt", 'w')
random.seed(3)
for x in range(0, 10):
time.sleep(0.3)
y = random.randint(0, 100)
print("loop number: " + str(x) + " random number = " + str(y))
filehandle.write("Random number, index:" +str(x)+ "randomNumber:" +str(y)+"\n")
filehandle.close()
print("end")[ Szerkesztve ]
Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.
-
Szőrös
veterán
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- TCL LCD és LED TV-k
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- Politika
- Luck Dragon: Asszociációs játék. :)
- Miskolc és környéke adok-veszek-beszélgetek
- Forza sorozat (Horizon/Motorsport)
- Test Drive Unlimited [FAQ, Ph! Játékosok listája és térkép az első hszben]
- Test Drive Unlimited 2
- E-roller topik
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs