Liste des Groupes | Revenir à col advocacy |
On 4/17/2024 2:26 PM, vallor wrote:On Tue, 16 Apr 2024 09:10:26 -0400, DFS <nospam@dfs.com> wrote in
<uvltc2$v4b9$1@dont-email.me>:
On 4/14/2024 1:46 PM, Lameass Larry Piet wrote:
>Who would love python? Only a fucking asshole.>
Eric Raymond says:
>
"I noticed (allowing for pauses needed to look up new features in
Programming Python) I was generating working code nearly as fast as I
could type."
>
No wonder Gentoo depends so heavily on Python.
>
Here's a list of some of the files in a directory:
>
file_999
file_1000
file_998
file_200
file_2000
Why do you prefix them with "file_"? Why not name the files
by article number, like other nntp software does?
That was just my example. They're actually prefixed with the name of
the newsgroup:
comp.lang.c_551568
comp.os.linux.advocacy_1239605
etc.
No extension.
I use SuckMT for Windows to download them. Well, I try to, but it
doesn't work too well. It always crashes after downloading around 4K
message files.
How about some of your 'extraordinary' C to read the directory and list
those files in ascending order (because they need to be processed
sequentially by nbr)?
>
>
yeah, crickets, just like I knew
>
>
-------------------------------------------------------------
import os
msgdir = "D:\"
filearr = []
for pfile in os.listdir(msgdir):
if '_' in pfile:
filearr.append(int(str(pfile).split('_')[1]))
for filenbr in sorted(filearr):
print("file_" + str(filenbr))
print()
for filenbr in reversed(sorted(filearr)):
print("file_" + str(filenbr))
You assume they are prefixed with "file_" instead
of, say, "foo_" -- but you print them as "file_xxx".
Tsk, tsk, tsk.
?
You're not equipped to tsk my programming.
That was an example for Feeb.
The real thing:
------------------------------------------------------------------------
msgdir = "D:/computer/dev/usenet/suckmt/posts/blocknews/" + sys.argv[1]
+ "/"
msgfile = ''
filearr = []
for pfile in os.listdir(msgdir):
if '_' in str(pfile):
filearr.append(int(str(pfile).split('_')[1]))
for articleID in sorted(filearr):
msgfile = grpName + '_' + str(articleID)
....
------------------------------------------------------------------------
In the first line, sys.argv[1] is my abbreviation for the newsgroup
(cola, clc, cdma, etc) passed in from the command line. In the last
line, grpName is the full name of the newsgroup. ID, abbreviation,
group name and other info is in a db table.
BTW, have you ever used awk?
A tiny bit.
> (Also: see ls -v)
Yeah, I know ls will list the files in the correct order. I couldn't
make it happen using Windows dir, though.
Windows File Explorer and thunar and Nemo showed them in the correct
numerical order.
-------------------------------------------------------------
D:\>python temp.py
file_200
file_998
file_999
file_1000
file_2000
>
file_2000
file_1000
file_999
file_998
file_200
-------------------------------------------------------------
>
It can also be done in fewer lines with the glob and regex modules, and
using list comprehension.
>
By the way, I have a folder of 191K+ such files, and that code runs in:
>
D:\>python temp.py
0.13s to read 191490 files
First file is 730478
Last file is 943773
>
>
>
Feeb severely pwned by his own ineptitude
C severely owned by python
$ man 3 scandir
and
$ man 3 strverscmp
Please don't feed the "C Programmer Extraordinaire" any hints.
Note: I do know how to write C to scan directories and list files and
check file types and open and read the contents, etc.
<FPDeI.3446$IC5.734@fx24.iad>
<KSGdH.282124$5_4.76405@fx40.iad>
Feeb does not.
Les messages affichés proviennent d'usenet.