Letzter Versuch: Python statt PHP?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Oder geht das noch anders?
Ja. Bzw.: was du machst ist anders. Die meisten nutzen eher nicht den verschroben-komplizierten Weg, auf den du aufgrund deines Portabel-Fetischs so stehst.

Aber schön, dass es bei dir funktioniert. Case closed :-)

Gruß, noisefloor
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Na ja, es ist das Gegenteil verschrobener Kompliziertheit. In 1 Minute ist alles entpackt und voll funktionsfähig.
Das funktioniert bei jedem ganz einfach nebenher.
Was macht man so die dem Code?
Er muss ja geschrieben werden, also das portable Notepad++, was Pythonfiles erkennt.
Und wo soll der Code sonst laufen, wenn nicht im tab des browsers angeklickt?
Ist spannend, macht neugierig auf Anwendungspotenziale.
Im tv kommt laufend, wie China uns immer mehr in den Schatten stellt.
Und wir streiten uns wegen Python herum, lach.
Was da so im Astra-Guckfenster in den tagesaktuellen channels abgeht, wirkt total abgefahren, ist interessant.
Würde mich auch interessieren, ob sich das auch andere samt PC im browser zugänglich machen.
U.a. "Wie China unser Leben bestimmen wird." Was entwickeln die da am PC und womit? Ist Python auch dort verbreitet?
Digitalisierung wächst exponentiell auch mit ihren open sources.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Entweder haben wir in diesem Thread ein gutes Besipiel für eine eher schlechte textverfassende KI oder einen Menschen der besagte schlechte KI hervorragend simulieren kann.
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

@/me: interessant fände ich an dieser Stelle, wo die KI gelernt hat, dass "PHP" in einem Python-Forum zu erwähnen übel ausgehen kann :D
When we say computer, we mean the electronic computer.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
sls hat geschrieben: Montag 28. Januar 2019, 21:59 @/me: interessant fände ich an dieser Stelle, wo die KI gelernt hat, dass "PHP" in einem Python-Forum zu erwähnen übel ausgehen kann :D
Wahrscheinlich beim Analysieren der Beiträge in einem Python-Forum ;-)

Was mich beruhigt ist: wenn die KI hinter dem Troll-Bot namens "oops" tatsächlich der aktuelle Ist-Stand von KI ist, dann ist Skynet noch ca. 1000 Jahre entfernt. Mindestens.
BTW: Gerüchteweise ist es so, dass Skynet im übernächsten Terminator Film als Portable App vorkommt...

Gruß, noisefloor
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ist Skynet dann noch in PHP oder schon in Python geschrieben?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich denke schon, dass ein Mensch dahinter sitzt. Das Verhalten erinnert an das eines Trolls. Eine böse Absicht will ich nicht zwingend unterstellen, da es neben einer geringen Auffassungsgabe auch Menschen mit Psychosen gibt. Aufgrund der verwirrten Ausdrucksweise könnte man das in Betracht ziehen. Was hier genau vorliegt, möchte ich aber nicht beurteilen. Eine sinnvolle Konversation scheint jedenfalls nicht möglich zu sein, auch wenn wir schon so einiges im Forum gewöhnt sind.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@snafu: An anderer Stelle im Netz schreibt der Troll selbst das er seit 2000 wegen wahnhafter Störungen als erwerbsunfähig eingestuft ist, und auch davor schon mal ein IQ-Test von der “Arbeitsbehörde” angeordnet wurde. Und das er als Kind radioaktiv verstrahlt wurde. Der deutsche Staat würde ihn am liebsten tot sehen um das zu vertuschen. Und in Deutschland gibt es keine Meinungsfreiheit, weil er in Foren immer gesperrt wird. (Ja, das hat mich total überrascht.)

Ich vermute ja eher das er bei seinen Militärprojekten in Fortran verstrahlt wurde und das der Staat ganz glücklich ist das er denkt, das es die Klinik war die ihn angeblich als Kind bestrahlt hat. Das haben die geschickt arrangiert. Und er fällt prompt darauf herein…
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

__blackjack__ hat geschrieben: Dienstag 29. Januar 2019, 09:50 Das haben die geschickt arrangiert. Und er fällt prompt darauf herein…
Es war mir immer ein Rätsel warum ich Haskell lernen musste. Jetzt habe ich Angst...
When we say computer, we mean the electronic computer.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Also Haskell finde ich toll. Nicht das ich mich in der Lage sehen würde da etwas grösseres ernsthaft mit zu Programmieren, aber es hat auf jeden Fall den Horizont erweitert und geholfen das ich Python mag und wahrscheinlich mehr mit `functools` und `itertools` anfangen kann als wenn ich Haskell nicht kennengelernt hätte. :-)
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

Haskell finde ich für mich (also Hobbyprogrammierer) extrem komisch. Das kommt ja auch im ansonsten sehr guten Buch "Seven Languages in Seven Weeks" vor, nur bin ich in der 2. Hälfte des Kapitels zu Haskell nicht mehr gedanklich hinterher gekommen.

Vielleicht hätte ich doch Programmierer werden sollen und für den Staat ein Projekt in Fortran abwicklen sollen... hm... ;-)

Gruß, noisefloor
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

So was kommt öfters vor?!?

Ich bin ja erst seid Okt 2017 hier unterwegs...Trotzdem weiß ich immernoch ned, ob das Belustigend oder Zeitverschwendend is, was hier abgeht in dem Post.
Aber das sowas öfters vorkommt, zumindest so Krass und mit soviel geistigen Leerlauf....Oder liegt der Fehler bei mir und ich hab es bisher einfach nur nicht erkannt? Oder..
Ohh schaut mal...der Fahrradfahrer und sein Schloss... Das ist Portabel und ohne Python..
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Ich bin immer noch überzeugt dass es sich um eine KI handelt die den bullshit generator anzapft.
When we say computer, we mean the electronic computer.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Tholo: Und wenn die Fahradkette gut geölt ist, dann flutscht das auch nur so… :-D
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Um den Thread zu verstehen, muss man nur einen Notenschlüssel ansehen. Portable natürlich. Das hat nichts mit Lernen zu tun. Ich habe nur 15 Sekunden gebraucht. Fehlerfrei zu meiner Überraschung, haha. Die Gehirnwellen machen schwubbeldiwupp kodiert im Astralfenster, siehe China. Da essen sie Hunde. Was da alles kodiert ist. Unglaublich. Wibbily wobbly, timey wimey und die Daleks waren auch schon da. I loved them in Star Trek.
Zuletzt geändert von snafu am Dienstag 29. Januar 2019, 23:29, insgesamt 1-mal geändert.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

eigentlich ist das wie beim Programmieren: mit genügend Abstraktionsschichten dazwischen kann man auch eine schlecht designte, komplizierte API einfach und verständlich machen.

Was halt hier im Thread anders als beim Programmieren ist: Humor hilft ;-)

Gruß, noisefloor
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ist so ruhig geworden hier. :-) Habe mich mal an ``dir /S /A:-S /A:-D /T:W /O:-S {path}`` in Python versucht:

Code: Alles auswählen

#!/usr/bin/env python3
import os
from datetime import datetime as DateTime
from functools import partial

from attr import attrib, attrs
import click
from psutil import disk_usage


@attrs(frozen=True)
class File:
    name = attrib()
    size = attrib()
    modified_at = attrib()
    
    def __str__(self):
        return (
            f'{self.modified_at:%Y-%m-%d %H:%M:%S}'
            f'  {self.size:-12d}'
            f'  {self.name}'
        )

    @classmethod
    def from_path_and_name(cls, path, filename):
        file_stats = os.lstat(os.path.join(path, filename))
        return cls(
            filename,
            file_stats.st_size,
            DateTime.fromtimestamp(file_stats.st_mtime),
        )


@attrs
class Folder:
    path = attrib()
    files = attrib()
    
    def __len__(self):
        return len(self.files)
    
    def __iter__(self):
        return iter(self.files)
    
    def __str__(self):
        files_text_block = '\n'.join(map(str, self))
        return (
            f'Directory of {self.path}\n\n'
            f'{files_text_block}\n\n'
            f'{len(self):-8d} file(s)  {self.size:-20d} bytes'
        )
    
    @property
    def size(self):
        return sum(file.size for file in self)
    
    @classmethod
    def from_path_and_names(cls, path, filenames):
        make_file = partial(File.from_path_and_name, path)
        return cls(
            os.path.abspath(path),
            sorted(
                map(make_file, filenames),
                key=lambda file: (-file.size, file.name),
            )
        )


def iter_directories(base_path):
    file_count = 0
    total_size = 0
    for path, _, filenames in os.walk(base_path):
        files = Folder.from_path_and_names(path, filenames)
        if files:
            file_count += len(files)
            total_size += files.size
            yield f'{files}\n\n'
    
    bytes_free = disk_usage(base_path).free
    yield (
        f'     Total files listed:\n'
        f'{file_count:-8d} files        {total_size:-16d} bytes\n'
        f'       0 directories  {bytes_free:-16d} bytes free\n'
    )


@click.command()
@click.argument('path', default=os.curdir)
def main(path):
    """Windows/DOS ``dir /S /A:-S /A:-D /T:W /O:-S {path}`` in Python.
    
    If no path is given, the current directory is assumed.
    """
    click.get_text_stream('stdout').writelines(iter_directories(path))


if __name__ == '__main__':
    main()
Gekürzte Testausgabe:

Code: Alles auswählen

Directory of /home/bj/tmp/pco_sdk

2018-01-26 09:00:50      24406304  SW_PCOSDKWIN_123_0001.exe
2017-01-12 12:56:02       1685504  Create_pco_vs_props.exe
2018-01-26 09:00:38        159992  uninstall.exe
2018-01-26 08:59:50         19467  read_me.txt
2011-10-20 09:14:16          2680  License.txt
2017-01-12 16:21:16           192  create_props.bat

       6 file(s)              26274139 bytes

Directory of /home/bj/tmp/pco_sdk/$_26_

2016-07-26 08:31:36        508928  sc2_cl_mtx.dll
2017-08-04 13:16:08        312832  sc2_cl_me4.dll
2017-02-02 17:32:46        275968  sc2_clhs.dll
2016-07-26 08:31:36        246784  sc2_cl_nat.dll
2016-07-13 10:05:48        135168  find_nat.exe

       5 file(s)               1479680 bytes

Directory of /home/bj/tmp/pco_sdk/include

2017-12-15 07:42:06        130739  SC2_CamExport.h
2017-12-04 14:26:36         63575  sc2_defs.h
2017-11-15 15:53:06         52769  sc2_SDKStructures.h
2017-08-30 15:31:22         39926  PCO_err.h
2017-08-30 15:31:22         38447  PCO_errt.h
2014-02-17 14:19:22         18938  Pco_edge_gs_calc_Export.h
2017-09-27 10:37:42         13337  SC2_SDKAddendum.h
2014-08-29 09:59:18         10522  SC2_DialogExport.h
2015-05-20 11:09:26          9832  Pco_ConvStructures.h
2015-03-10 09:15:18          8938  Pco_ConvExport.h
2017-08-03 17:06:32          5915  sc2_common.h
2015-04-17 09:00:14          4633  Pco_ConvDlgExport.h
2015-06-12 14:39:24          2542  PCO_Structures.h

      13 file(s)                400113 bytes

[…]

Directory of /home/bj/tmp/pco_sdk/sample/SC2_Demo

2014-12-12 12:13:28         30070  SC2_Class.cpp
2017-01-12 15:00:10         15424  SC2_Demo.vcxproj
2010-08-19 10:04:08          9308  SC2_Demo.rc
2010-09-01 16:26:18          7024  MainFrm.cpp
2006-03-22 15:38:52          3893  ReadMe.txt
2010-05-20 16:56:42          3328  SC2_Demo.cpp
2008-06-09 08:59:24          2428  ChildView.cpp
2010-09-01 16:26:18          2374  MainFrm.h
2014-03-24 11:48:04          2337  SC2_Class.h
2010-08-31 17:03:10          1432  targetver.h
2006-03-28 16:54:08          1418  ChildView.h
2006-03-28 16:54:08          1404  SC2_Demo.h
2017-01-10 10:35:56          1315  SC2_Demo.sln
2010-08-19 10:03:30          1053  resource.h
2010-08-31 16:18:06          1031  StdAfx.h
2006-03-28 16:54:08           212  StdAfx.cpp

      16 file(s)                 84051 bytes

Directory of /home/bj/tmp/pco_sdk/sample/SC2_Demo/res

2008-09-30 16:26:44         10990  SC2_Demo.ico
2010-12-13 11:20:28           738  SC2_Demo.manifest
2006-03-28 14:56:00           478  Toolbar.bmp
2006-03-22 15:38:52           400  SC2_Demo.rc2

       4 file(s)                 12606 bytes

     Total files listed:
     200 files                75026513 bytes
       0 directories       15082020864 bytes free
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Danke für den code.
Mir egal, womit ich code generiere. Python wirkt recht kniffelig.
Schon 'import click' müsste wohl wie NumPy zum integrieren irgendwo versteckt recherchiert werden.
Inzwischen habe ich fürs web den Eindruck, php kann bleiben. Es ist total einfach und übersichtlich.
Will hier nicht gegen Python lästern, ist aber eher was für freaks, die sich zum Rumspielen gerne reinwühlen.
Angeblich wird Python vor allem fürs web benutzt, wo ich aber lieber bei php bleibe.
Die Umgebung ist komplex und diffizil, was simple Nutzung leider sehr erschwert. Totale Verästelung.
Es fehlt die universell einfache kompakte Zusammenfassung zumindest für Windows.
Mein Fragment läuft zwar, aber bereits diese primitivste Anforderung ist reichlich verzwirbelt:

Code: Alles auswählen

#!e:/Apache24/python/python.exe 
print ("Content-type: text/html")
print ("")
print ("<html><head>")
print ("")
print ("</head><body>")
print ("")

import os
from os.path import join, getsize

#os.startfile("C:\F\OverDisk\OverDisk.exe")  #ok
#sys.exit() #ok


def dosomething( thelist ):
    for element in thelist:
        print ( element )

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
def a1(arr):
 print(arr[0])
a = [["<br>",1, 2, 3, "ui<br>"], [4, 5, 6]]
a1(a)

def sum_it_up(num_1, num_2, num_3, *nums): #*-Operator

#    list_sum = functools.reduce(lambda x,y: x+y, nums)

    return num_1 + num_2 + len(nums)

my_list = [1,3,5,7]
print (sum_it_up(*my_list))


b=[["Ordner1","file1"],["Ordner2","file2"]]
print(b[0][0])
i=1
print(b[0][i])
def zeig(x):
	print(x[0][1]);
zeig(b)
print("<br>")
# Rechtsklick Maus und UTF-8, nie TAB
# def to_text_files(*arguments):
    # for path, filename in arguments:
        # subprocess.run(
            # f'dir /S /A:-S /A:-D /T:W /O:-S /-C "{path}" > "{filename}"',
            # shell=True,
        # )

# def to_text_files(items):
    # for path, filename in items:
        # with open(filename, 'wb') as out_file:
            # subprocess.run(
                # ['dir', '/S', '/A:-S', '/A:-D', '/T:W', '/O:-S', '/-C', path],
                # stdout=out_file,
            # )

a = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]
s = 0

def to_text_files(*arguments):
    for path, filename in arguments:
        subprocess.run(
		   print("hallo"),
		   shell=True,
#            f'dir /S /A:-S /A:-D /T:W /O:-S /-C "{path}" > "{filename}"',
        )

#to_text_files(a)  #wie? aber egal, brauchts nicht

for row in a:
    for elem in row:
        s += elem
print(s)
# keinen tab verwenden, muss UTF-8 sein, rechter Mausklick kommentieren
b = [["Ordner1","file1"],["Ordner2","file2"]]
for row in b:
    print("<br>row[0]: ",row[0]," row[1]: ",row[1])
#  for elem in row:
#        print("<br>elem: ",elem," row: ",row[1])
print("<br>war row<br>")



filename = os.environ.get('PYTHONSTARTUP')
if filename and os.path.isfile(filename):
    exec(open(filename).read())


ax ="E:\Test"
os.listdir(ax)
print("<br>war listdir<br>")
for subdir, dirs, files in os.walk("."):
    for file in files:
        print(os.path.join(subdir, file)+"<br>")
print("<br>war erster walk<br><br>")
# https://www.coding-board.de/threads/python-dateien-aus-aktuellen-verzeichnis-unterverzeichnis-auslesen.37937/
# google: python ordner auslesen
# https://docs.python.org/3.4/library/os.html

for root, dirs, files in os.walk(ax):
    for file in files:
        x=os.path.join(root, file)
        print("<br>",os.path.join(root)," \ ",os.path.join(file),os.path.getsize(x)," neu: ",getsize(join(root, file)))
		
print("<br> und weiter<br>")

# k=0
# for root, dirs, files in os.walk("E:\Test"):
    # print(root, "consumes", end=" ")
    # ay=sum(getsize(join(root, name)) for name in files)
    # print(ay, end=" ") #    print(sum(getsize(join(root, name)) for name in files), end=" ")
    # print("bytes in", len(files), "non-directory files")
    # if 'CVS' in dirs:
        # dirs.remove('CVS')  # don't visit CVS directories
    # k+=ay
    # print("Gesamtsumme: ",k,"<br>")
# print("Alles: ",k)

# import subprocess

def die_files(x): #muss vor dem Aufruf stehen
    for row in x:
       print("<br>row[0]: ",row[0]," row[1]: ",row[1])

print("<br>los gehts:")	   
die_files([["E:/test","E:/c/res.txt"],["E:/test1","E:/c/res1.txt"],["E:/test2","E:/c/res2.txt"]])
print("<br>das wars<br>")

s=0
for row in a:
    for elem in row:
        s += elem
print(s)
"""
ist 
ein
Kommentar
"""

for num in range(2, 10):
     if num % 2 == 0:
         print("Found an even number", num)
         continue
     print("---Found a number", num)
print("<br>weiter:<br>")
with os.scandir(ax) as it:  #ok
    for entry in it:
#        if not entry.name.startswith('.') and entry.is_file():
          print(entry.name)

from pathlib import Path

def get_txt_files(base_dir): #ignoriert es in base_dir
    return Path(base_dir).glob("*/*.png")
for name in get_txt_files("E:\\"):
    print("<br>name: ",name)
print("<br><br>")
# https://python-forum.io/Thread-scandir-recursively-and-return-path-filename  ->
for root,dirs,files in os.walk(ax):
    for file in files:
        print("<br>",join(root, file)," root: ",root," sum: ",sum(getsize(join(root, name)) for name in files), " single: ",getsize(join(root, file)))
		#sum ist die Summe aller files oben im jeweiligen Ordner

print("<br>fertig")
print ("</body></html>")
__deets__
User
Beiträge: 14533
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn man auf den Verfahren des 20sten Jahrhunderts besteht, dann sieht der Code halt auch aus wie aus dem letzten Jahrhundert. Viel Spass weiterhin beim retro-programmieren!
oops
User
Beiträge: 80
Registriert: Samstag 9. September 2017, 15:29

Na ja, es sollte alles extrem kompakt kurz zusammengefasst vorliegen.
Sicher kann man es sehr einfach angehen, ohne sich in Verästelungen zu verirren.
Hartgesottene freaks könnten sich das mal vornehmen.
Und portable ist schon fast Pflicht: Notepad++, Apache und der browser, nix kompilieren.
Wie komme ich zu import click und vielleicht sogar NumPy?
Den code von blackjack würde ich gerne mal verwenden können.
Gesperrt