sort file removing duplicates possible?
-
Patrick, did you downlaod and unzip the TclTk into the
NPP_INSTALL_DIR ? (in your case into D:\Utilities\PortableApps\Notepad++)If so, can you run the following in the python script console
import sys; print '\n'.join(sys.path)
and post the output?
Did the unidecode library installation work?
Cheers
Claudia -
This post is deleted! -
yes, unidecode works fine, import command works
-
-
D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib
D:\Utilities\PortableApps\Notepad++\plugins\Config\PythonScript\lib
D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\scripts
D:\Utilities\PortableApps\Notepad++\plugins\Config\PythonScript\scripts
D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\lib-tk
D:\Utilities\PortableApps\Notepad++\python27.zip
D:\Utilities\PortableApps\Notepad++\DLLs
D:\Utilities\PortableApps\Notepad++\lib
D:\Utilities\PortableApps\Notepad++\lib\plat-win
D:\Utilities\PortableApps\Notepad++\lib\lib-tk
D:\Utilities\PortableApps\Notepad++ -
The correct one is
D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\lib-tk
but those
D:\Utilities\PortableApps\Notepad++\lib
D:\Utilities\PortableApps\Notepad++\lib\plat-win
D:\Utilities\PortableApps\Notepad++\lib\lib-tkare strange, could it be that you unzipped only part of tk packages into
D:\Utilities\PortableApps\Notepad++\ ?Can you check if you have the following files under D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\lib-tk
Canvas.py
Dialog.py
FileDialog.py
FixTk.py
ScrolledText.py
SimpleDialog.py
Tix.py
tkColorChooser.py
tkCommonDialog.py
Tkconstants.py
Tkdnd.py
tkFileDialog.py
tkFont.py
Tkinter.py
tkMessageBox.py
tkSimpleDialog.py
ttk.py
turtle.pyYou might see additional files with extension pyc - that’s ok.
If you do have the files, delete the D:\Utilities\PortableApps\Notepad++\lib directory.
If you don’t have the files under D:\Utilities\PortableApps\Notepad++\lib\lib-tk but
within D:\Utilities\PortableApps\Notepad++\lib then cut D:\Utilities\PortableApps\Notepad++\lib and paste it into
D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\Cheers
Claudia -
I can’t find either D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\lib-tk or D:\Utilities\PortableApps\Notepad++\lib folder in explorer!
-
so how did you install Tcl/Tk libraries?
Cheers
Claudia -
I extracted the zip of course, the folder you say is in:
d:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\tcl\lib-tk\both in zip file and my explorer!
-
I’ve just read guy038’s post and I’m more confused :S
I downloaded the file again and now it’s Last modified: 02 Jun 2018 16:00 UTC
and 69930 results,
sorting with insensitive (ue and textfx) yields 69284 and the output should be similar,
so I should be satisfied by that consensus I guess? -
the easylist file is adblocker file it will change consistently.
Regarding the Tcl/Tk installation - you should have unzipped it into
D:\Utilities\PortableApps\Notepad++\ directory.The zip contains the complete folder hierachy - as you see on the left side (archive tree)
if you did this you normally got a message saying that the plugins folder already exists and
if you want it to overwrite -> you should have answered this with yes, didn’t you?Cheers
Claudia -
yep, that’s what I got https://imgur.com/a/xNQB5Gn
-
took some time to understand the difference.
You do have
…\Notepad++\plugins\PythonScript\lib\tcl\lib-tk
where I do have
…\Notepad++\plugins\PythonScript\lib\lib-tkso the error makes sense as it can’t be found in …\lib\lib-tk
You could try to add the following to your user startup.py script
import sys sys.path.append(r'D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\tcl\lib-tk')
and restart npp and do another import Tkinter test.
Cheers
Claudia -
ok thanks, first thing tomorrow with the morning coffee
:-D -
Hi, @patrickdrd, and All,
Just for info, doing again my tests ( Last modified: 02 Jun 2018 17:23 UTC ) with N++ sort, followed by the regex S/R, I obtained :
-
Original file :
69931
lines -
With regex A ( sensitive ) :
69852
lines ( so,65
lines deleted, in56
matches ) -
With regex B ( insensitive ) :
69817
lines ( so,100
lines deleted, in88
matches ) -
With TextFX sort, at column
1
, with the option Sort outputs only UNIQUE (at column) lines, it produced a69285
lines file ( so,646
lines deleted )
Now, @patrickdrd, I don’t want you to be confused, with my explanations ! I just pointed out the fact that depending of the different ways and softwares, used to remove duplicates lines, you must expect different results ! My solution using first, N++ sort and , secondly, a regex S/R may not give the correct results, because it’s based on comparing consecutive lines, previously sorted !
And , probably, the TextFX plugin, ( whose I don’t know the sort logic ! ) other software, and the last sorter.py script, from @claudia-frank, will produce best results :-))
Finally, I’m thinking that a correct script to delete duplicates lines should not rely on any sort and just compares two individual lines, at a time ! In other words, any line should simply be compared, successively, with each other line of the file !
Cheers,
guy038
P.S. :
BTW, I confirm that the TextFX sort tool, as N++ sort, seems stable : after running it
5
times, the ouput files, produced , are totally identical :-) -
-
@Claudia-Frank still doesn’t work:
File “<console>”, line 1, in <module>
File “D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\tcl\lib-tk\Tkinter.py”, line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter -
can you please run the following code in the python script console and check the output?
import os; print '\n'.join(os.listdir(r'plugins\PythonScript\lib\tcl'))
If you have something similar to me
dde1.3 lib-tk <--- this is important reg1.2 tcl tcl8 tcl8.5 tcl85x.dll <--- this is important tcl85x.lib tclConfig.sh tclpip85x.dll <--- this is important tclstub85.lib tk8.5 tk85x.dll <--- this is important tk85x.lib tkstub85.lib _tkinter.pyd <--- this is important
you have to add another path to sys.path so that you have the following in your startup.py
import sys sys.path.append(r'D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\tcl') sys.path.append(r'D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\tcl\lib-tk')
After restarting notepad++, PS should be able to use Tkinter to build windows.
If you don’t have the dlls etc… or it is still not working, can you please post the output from the os.listdir… ?Cheers
Claudia -
still not
dde1.3
lib-tk
reg1.2
tcl
tcl8
tcl8.5
tclConfig.sh
tk8.5
_tkinter.pyd -
import worked but sorter not:
Traceback (most recent call last):
File “D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\scripts\Sorter.py”, line 110, in <module>
SorterWindow()
File “D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\scripts\Sorter.py”, line 76, in init
self.window = tk.Tk()
File “D:\Utilities\PortableApps\Notepad++\plugins\PythonScript\lib\tcl\lib-tk\Tkinter.py”, line 1819, in init
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can’t find a usable init.tcl in the following directories:
D:/Utilities/PortableApps/Notepad++/plugins/PythonScript/lib/lib/tcl8.5 D:/Utilities/PortableApps/lib/tcl8.5 D:/Utilities/lib/tcl8.5 D:/Utilities/PortableApps/library D:/Utilities/library D:/Utilities/tcl8.5.2/library D:/tcl8.5.2/libraryThis probably means that Tcl wasn’t installed properly.
what’s that double lib in the first path?
-
maybe we should quit?
I’ll be using textfx’s (insensitive) sort and tcl/tkinter seems so unbelievably awkward to setup!