Inlägg

Inlägg som Asce har skrivit i forumet
Av Asce

Wordpress FTP_HOST med IP?

I wp-config.php där man anger sin FTP host:

define('FTP_HOST','server.something.com');

Funkar det att använda IP-adress istället för server.something... ?

Av Asce

Borderlands 1, 2 & Pre Seq. FPS

Hallåj

Jag har länge försökt komma underfund med varför min FPS i dessa spel inte går över 144.

Jag har ställt in min FPS att vara "unlimited" (i BL1 så får man fixa detta i en .ini-fil), men likväl verkar det cappat på 144 fps.

Nämnas bör definitivt att jag har en Gsync-skärm på 144hz. Så jag tänker att detta på något vis cappar min FPS på 144. Men i andra spel är min FPS INTE låst till 144. Jag märker detta endast i Borderlands.

Japp, min Vsync ÄR satt till off i dessa spel eftersom jag har Gsync.

Min brorsa som INTE har Gsync får dock över 144 fps i Borderlands.

Någon som vet vad detta kan bero på?

Av Asce
Skrivet av headphone.ninja:

Själv kan jag bli kall samt ha handsvett samtidigt. Va fan ska jag ha för mus?

En varmluftsmus!

Av Asce

Aha, FIELDS TERMINATED BY var lösningen och inte DELIMITER som jag trodde. Tog även bort dubbelfnuttarna. Funkar perfekt nu.

Tack ska ni ha!

Av Asce

Bash - Mysql Delimiter problem

Hepp,

Försöker importera en .csv fil till min mysql server, som jag även har PhpMyAdmin på.

Nedan bash kod fixar detta. Men delimitern sätts inte på korrekt sätt, så allting lägger sig i samma kollumn. Får inga felmeddelanden på koden dock.

for f in *.csv do mysql -e "LOAD DATA LOCAL INFILE '"$f"' into table data; DELIMITER |;" -u root --password=qqq emldata done

Såhär ser tabellen ut efter ovan bash skript:

http://i.gyazo.com/f1ba21c7700de29d0e7c1e3fa069f9b7.png

Om jag däremot direkt via PhpMyAdmin importerar .csv filen och väljer delimiter ; så blir det korrekt:

http://i.gyazo.com/29bdea6bbdaa67a5b67662c0e6239250.png

Antar att jag gör något fel i bash koden?

Av Asce

Nej den finns inte där ännu. Trodde att den skapades om den inte redan fanns....noobigt, jag vet. Får skapa den först då.

Så jag tänkte sätta sql = "CREATE TABLE test" och sedan anropa den i rätt ordning, men får samma fel som förut.

För att vara så tydlig som möjligt, jag har redan en databas, där jag vill skapa en tabell i vilken .csv-filen importeras.
----

Kod:

mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='data') cursor = mydb.cursor() sql = "CREATE TABLE test" with open ('/home/mydata.csv') as csvfile: csv_data = csv.reader(csvfile, delimiter=';') for row in csv_data: print (row) cursor.execute('INSERT INTO test(names, \ classes, mark, other )' \ 'VALUES("%s", "%s", "%s","%s")', row) #close the connection to the database. mydb.commit() sql.commit() cursor.close()

Dold text
Av Asce

Ojdå, får nog gräva upp tråden lite igen.

Får nu följande felmeddelande:

Traceback (most recent call last): File "csvimport.py", line 19, in <module> row) File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute self.errorhandler(self, exc, value) File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.ProgrammingError: (1146, "Table 'data.test' doesn't exist")

Dold text

Nuvarande kod:

#!/usr/bin/python import csv import MySQLdb mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='data') cursor = mydb.cursor() with open ('/home/mydata.csv') as csvfile: csv_data = csv.reader(csvfile, delimiter=';') for row in csv_data: print (row) cursor.execute('INSERT INTO test(names, \ classes, mark, other )' \ 'VALUES("%s", "%s", "%s","%s")', row) #close the connection to the database. mydb.commit() cursor.close() print "Done"

Dold text

Någon idé om vart felet ligger?

Av Asce

Tack så mycket. Det löste problemet

Av Asce

Okej, tack för förklaringen.

Jag lyckades implementera det med delimitern som mackan32 skrev.

Jag följde nu också ditt förslag, phz, med att printa ut row för att se vad som hamnar där. För närvarande får jag följande felmeddelande:

['Online', ' blablabla.com.', ' 11.111.111.11', ' Hej'] Traceback (most recent call last): File "csvimport.py", line 25, in <module> row[0], row[1], row[2], row[3]) TypeError: execute() takes at most 3 arguments (6 given)

Min nuvarande kod (vissa delar bortkommenterade)

#!/usr/bin/python import csv import MySQLdb mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='data') cursor = mydb.cursor() with open ('/home/data.csv') as csvfile: #mydb = MySQLdb.connect(host='localhost', # user='root', # passwd='LoveLiver2', # db='emldata') #cursor = mydb.cursor() csv_data = csv.reader(csvfile, delimiter=';') #,file('/home/data.csv')) for row in csv_data: print (row) cursor.execute('INSERT INTO testcsv(test1, \ test2, test3, test4)' \ 'VALUES("%s", "%s", "%s", "%s")' , row[0], row[1], row[2], row[3]) #close the connection to the database. mydb.commit() cursor.close() print "Done"

Dold text
Av Asce

Misstänker att det kan vara som ni, Mackan32 och phz föreslår med delimiter. För jag använder semikolon ( ; ) i min csv och jag har inte angivit vad min delimiter ska vara.

Osäker på hur jag implementerar detta på rätt sätt i min nuvarande kod, är som sagt nybörjade (även på mysql).

Den gillar iaf inte min syntax på detta:

for row in csv_data: print (row) cursor.execute('delimiter = ';',\ INSERT INTO testcsv(names, \ classes, mark, other )' \ ....etc

Felmeddelande:

File "csvimport.py", line 14 cursor.execute('delimiter = ';',\ ^ SyntaxError: invalid syntax

Ja, ni får ursäkta min "noobighet", som ni kanske märker så är jag nybörjade på detta

Av Asce

IndexError: list index out of range

Tack för förslaget. Testade detta och fick nu följande fel:

Traceback (most recent call last):
File "csvimport.py", line 17, in <module>
row[0], row[1], row[2], row[3])
IndexError: list index out of range

Funderade på om filen verkligen har 4 kolumner, dubbelkollade detta. Men ja det stämmer att det är 4, även om jag testade lägga till ännu en %s och ännu en row[5], där jag fick samma IndexError.

Av Asce

Python - Mysql - import .csv

Hej,

Jag är nybörjare på Python och försöker göra ett skript som importerar en .csv fil till min sql databas.

Jag får följande fel:

Traceback (most recent call last):
File "csvimport.py", line 17, in <module>
row)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
query = query % db.literal(args)
TypeError: not enough arguments for format string

Här är koden jag använder:

#!/usr/bin/python import csv import MySQLdb mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='data') cursor = mydb.cursor() csv_data = csv.reader(file('/home/data.csv')) for row in csv_data: cursor.execute('INSERT INTO testcsv(names, \ classes, mark )' \ 'VALUES("%s", "%s", "%s","%s")', row) #close the connection to the database. mydb.commit() cursor.close() print "Done"

Jag har 4 kolumner i .csv-filen, så borde inte ("%s", "%s", "%s","%s")', vara tillräckligt då? Eller ligger felet på annat ställe?

Av Asce
Skrivet av SysGhost:

"Cannot execute zsh" ger mig ledtråden om att zsh inte är installerad, eller propert konfigurerad/godkänd som kommandoskal.

Vill ni använda zsh istället fö bash? Se då till att den är installerad, och är listat i filen "/etc/shells". En rad som skall finnas med bör lyda "/bin/zsh"
Om ni hellre vill använda bash. Konfigurera då om root-kontot så att den använder bash istället för zsh.
Det gör ni enklast med följande kommando:

sudo usermod --shell /bin/bash root

(Glöm inte att kolla att /bin/bash finns med i /etc/shells )

Ni kan också helt sonika redigera filen /etc/passwd, och ändra i raden för root. Där står det /bin/zsh i slutet. Byt ut det mot /bin/bash. Se till att spara en kopia på filen innan ni ändrar i den.

Aha, tack det löste problemet.

Ville ha bash nämligen, så jag körde sudo usermod --shell /bin/bash root som du sa, nu funkar det finemang.

Tackar och bockar!

Av Asce
Skrivet av OsNy:

Testa att köra "sudo su" istället det gör samma sak (eller bibehåller root iallafall).
Kanske är zsh inte vet vad den ska göra med -i...

Hm, märkligt det här.

$ sudo su
Cannot execute zsh: No such file or directory

För att vara säker på att jag jag kör bash så körde jag $ chsh -s /bin/bash username

Men det går fortfarande inte.

Av Asce
Skrivet av Printscreen:

Root kör väl zsh istället för bash? Varför måste du köra med -i?

Jag kör med sudo -i för då behöver man inte skriva sudo mer efter det. Då blir ju allting automtiskt sudo.

Av Asce

sudo: zsh: command not found

Hej,

När jag ska köra sudo -i så får jag följande meddelande:

sudo: zsh: command not found

Att köra sudo som vanligt funkar, men sudo -i vill inte.

Hur kommer det sig? Hur fixar jag det?

obs, kör Ubuntu 14.04.1 LTS

Av Asce
Skrivet av era909:

Du måste använda grep -E, annars matchar den tecknet | istället för att använda det som en operator.
Ditt regex är korrekt i övrigt.

Aaah, en sån enkel grej. Tack ska du ha

Av Asce
Skrivet av Teknocide:

Du vill hitta 198.x.x.x men grepar efter 192.x.x.x. Kan det vara det?

Ojdå, skrev fel här på forumet bara. Jag grepar efter 198.x.x.x.

Dvs, jag har en massa IP-adresser i en txt fil (IP-adresser.txt), några av dem går mellan 198.54.120.4-20.

Jag vill grepa dessa med regex och använder följande:

grep "^198\.54\.120\.([4-9]|1[0-9]|20)$" IP-adresser.txt

Detta borde ge resultatet jag är ute efter, tycker jag, men får inte upp några resultat. Jag lyckas plocka ut enskilda IP om jag tex skriver: ^198\.54\.120\.4$ ... Så får jag ut 198.54.120.4. Men den får alltså inte rätt på rangen 4-20 med regex verkar det som.

Av Asce

Regex, greppa IP range från fil

Har en txt fil som innehåller en IP-adress per rad.

Jag vill grepa vissa IP ranges från denna med regular expressions.

Jag testar att grepa 198.54.120.4 - 20 .och skriver på följande sätt :

grep "^192\.54\.120\.([4-9]|1[0-9]|20)$" IP-adresser.txt

Jag får dock inget resultat av denna. Hur kan det komma sig? Skriver jag fel regex?

Av Asce

Det finns en speciell anledning till varför jag inte kör med cp.

Filerna jag catar är .eml filer, email filer. Jag granskar dessa filer i source format/råformat direkt i en mailklient för att få ut viss header-data från dem som jag är intresserad av. Det tar rätt lång tid när man ska granska många filer på detta sätt. Så jag vill konvertera dem alla till rent text så jag kan öppna dem direkt. Om jag endast kopierar/döper om en sådan fil till en .txt fil så kan jag inte granska rådatan genom att bara öppna filen som den är, funkar inte.

Men om jag kör cat på den (.eml filen) och skickat output från det till en fil så kan jag bara kolla den filen direkt utan att behöva öppna den i en mailklient med stöd för .eml-filer.