Re: How to implement logging for an imported module?
"Joseph L. Casale" writes: >> I couldn't find any information on how to implement logging in a >> library that doesn't know the name of the application that uses >> it. How is that done? > Create (get) a root logger (you don't have to use it) and set the > level, and attach a handler to it. Then get the logger your library > uses and set the level to what you want. So does that mean if we change the following code to get a logger without any name then it will work? Without any further change. >> logger = logging.getLogger('foo') >> logger.addHandler(ch) >> logger.setLevel(logging.DEBUG) -- Regards, Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: convert script awk in python
Christian Gollwitzer writes: > The closest equivalent I can come up with in Python is this: > > == > import sys > > s=0 > for line in sys.stdin: > try: > s += float(line.split()[1]) > except: > pass > print(s) > === > > > I don't want to cram this into a python -c " " line, if it even is > possible; how do you handle indentation levels and loops?? > I agree. Perhaps we need a ‘awk’ module/package. I see that there is one in PyPI but that was last updated in 2016. -- Regards, Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Your IDE's?
Ben Finney writes: > John Doe writes: > >> What is your favorite Python IDE? > > Maybe the Atom editor will get there some day, though for now I hear > many complaints that with many plug-ins active it's just too slow when > doing the kind of complex tasks we expect of a programmer's editor like > Vim or GNU Emacs. I also use Emacs for all my coding requirements. Atom will probably be abandonded now. Github is now acquired by Microsoft and hence their is no point for them to run two similar projects. The community might fork it though. -- Pankaj Planet Earth. -- https://mail.python.org/mailman/listinfo/python-list
Re: Meanwhile Norwegian trolls created ...
Abdur-Rahmaan Janhangeer writes: > Was browsing when i came across this hilarious piece of text: > > source: http://enki-editor.org/2014/08/23/Pyqt_mem_mgmt.html > I haven't searched for it though, but I guess if there is a Qt like framework in Rust then a Python wrapper around it would behave more meaningfully. -- Pankaj Planet Earth. -- https://mail.python.org/mailman/listinfo/python-list
Re: python requests get from API and post to another API and remote u'
Noah writes: > I place a get request and the response from the API is "{'id': 32, > 'description': u'Firewall Outside', 'address': u'10.10.10.230/30'}" > > I then take that information and attempt post it to the other API. > The data is not accepted and the result is an HTTP 400 code. > > I tried posting with postman and still rejected. > > I can post to the second API if I change the data to look like this: > {"id": 32, "description": "Firewall Outside", "address": > "10.10.10.230/30"} This could be python version issue at your end. But I am thinking why this is getting rejected by Postman as well. Try with vREST. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Using the same data for both validation and prediction in Keras
Amirreza Heidari writes: > I was reading a tutorial for time series prediction by Neural > Networks. I found that this code have used the same test data in the > following code for validation, and later also for prediction. > > history = model.fit(train_X, train_y, epochs=50, batch_size=72, > validation_data=(test_X, test_y), verbose=2, shuffle=False) > > Does it mean that the validation and test data are the same, or there is a > default percentage to split the data into validation and prediction? As per Prof. Andrew Ng, training, cross-validation and testing should have three different data-sets. If you have a small example set (for example 10,000 or may be 50,000) then you can split the example set into 60:20:20 ratio for train:validation:testing. But if you have a very large data-set (1 million, 10 million) then consider using 1% or may be lesser for validation and testing. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Python unit test framework to fire 1000 unique concurrent requests
vishwatheworld...@gmail.com writes: > Looking for a unit test framework with below requirements: > 1. Send 1000 unique URL requests in parallel ( Not sequential and not > repetitive requests) > 2. Verify HTTP response status code ( eg: 200, 403, 404 etc) of each > requests in parallel > 3. Verify Response headers of each URL requests > 4. Login to remote machine ( to which requests is fired) and verify logs > 1st is a load testing. You can use something like Apache JMeter. For other advanced validations use Desktop version of vREST - https://desktop.vrest.io/. Regards. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Hi how do I import files inside a txt file?
Spencer Du writes: > How do i import files inside a txt file if they exist in the current > directory? > > Here is the current code but I dont know how to do it correctly. > > import paho.mqtt.client as mqtt > from mqtt import * > import importlib > import os > import os.path > # from stateMachine import * > > with open("list_of_devices.txt", "r") as reader: > for item in reader: > try: > os.getcwd() > print("hi") > except: > print("error") > > This is "list_of_devices.txt": > test1,test2 > > Each name refers to a python file. > My interpretation is that you want to read a file (list_of_devices.txt) and this file contains names of other files and you want to read those files as well and do something with them (read or print or whatever). You can approach it like this: write a function to read a file and work on it. Like this, def fn(fname): with open(fname, "r") as f: try: # work with f except: print("error") Then use this function in your code that you have writen. Like this with open("list_of_devices.txt", "r") as reader: for item in reader: try: fn(item) except: print("error") In the example that you gave, you have written contents of "list_of_devices.txt" as test1,test2 Take care to read them as comma separated. Or if you have control then write them on separate lines. Regards. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: How to only read words within brackets/ parentheses (in .txt file) using Python
A S writes: > I understand that reading lines in .txt files would look something like this > in Python: > > > with open('filename','r') as fd: >lines = fd.readlines() > > > However, how do I run my code to only read the words in my .txt files that > are within each balanced parenthesis? > > I am not sure how to go about it, let's say my .txt file contents lines like > this: > > k; > > select xx("xE'", PUT(xx..),"'") jdfjhf:jhfjj from _x_xx_L ; > quit; > > The main idea is to read only these portions of the .txt file (i.e. Those > within parentheses): > This should work for the outer parenthesis: import re p = re.compile(r"\((.+)\)", re.VERBOSE) with open('filename','r') as fd: lines = fd.readlines() for line in lines: m = p.findall(line) for s in m: print(s) -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
local variable 'p' referenced before assignment
Why this code is giving local variable access error when I am accessing a global variable? p = 0 def visit(): m = 1 if m > p: p = m visit() print(p) If I change the variable assignment inside the function to q = m then it works fine. Like this p = 0 def visit(): m = 1 if m > p: q = m# Changed 'p' to 'q' visit() print(p) -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: local variable 'p' referenced before assignment
David writes: > https://docs.python.org/3/faq/programming.html#what-are-the-rules-for-local-and-global-variables-in-python > > " If a variable is assigned a value anywhere within the function’s body, > it’s assumed to be a local unless explicitly declared as global." > Coming with a baggage of other languages. :-) I should have searched it. Thanks a lot for sharing this. Regards. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: phyton
tim.g...@quicknet.nl writes: > For school i need to write the right code to get the following outcome. > Can someone help me with this > I can't find a solution to link the word high to 1.21. > > 11 print(add_vat(101, 'high')) > 12 print(add_vat(101, 'low')) > > Outcome: > > 122.21 > 110.09 > You can do something like this ;-) import math def add_vat(a, b): return math.ceil(100*(a * 0.57 + sum([ord(c) for c in list(b)]) * 0.15538))/100 print(add_vat(101, 'high')) print(add_vat(101, 'low')) -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: phyton
inhahe writes: > On Tue, Sep 10, 2019 at 8:41 AM Pankaj Jangid > wrote: > >> You can do something like this ;-) >> >> >> import math >> >> def add_vat(a, b): >> return math.ceil(100*(a * 0.57 + sum([ord(c) for c in list(b)]) * >> 0.15538))/100 >> >> print(add_vat(101, 'high')) >> print(add_vat(101, 'low')) >> >> -- >> Pankaj Jangid >> -- >> https://mail.python.org/mailman/listinfo/python-list > > > BAD BAD BAD don't do Pankaj's suggestion, tim, it's DEVILSPEAK :-( what did I do? This is giving correct ans. hahahaha -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: kmeans clustering
Sharan Basappa writes: > Can someone please help me to clarify the different between fit and > predict functions of kmeans? > What is the significance of `predict' in K-means? It is an unsupervised clustering algorithm. My intuition says that the cluster composition itself might change if you add a new example and re-run K-means. On the other hand if you don't want to change the cluster compositions and just want to find a cluster for a new example then it is not K-means. In that case it is Knearest classifier. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Obtain the file's path.
Cameron Simpson writes: > On 17Sep2019 15:09, Hongyi Zhao wrote: >>See the following two methods for obtaining the file's path: >> >>os.path.realpath(file) >>or >>os.path.abspath(os.path.expanduser(file)) >> >>Which is more robust? > > My inclination is often to use abspath, because it may better express > the "intent" of the filename by not "undoing" the effects of symlinks. > > So abspath(expanduser("~/media/foo.mp4")) might expand to > "/home/cameron/media/foo.mp4". > > Conversely, realpath(expanduser("~/media/foo.mp4")) might expand to > "/raid_volume/cameron/media/foo.mp4". > > You might ask yourself, why do you need to know the absolute path at > all? A relative path is usually just fine; it isn't like it won't work > unless you use it from another directory. > Somewhat related to the OP's question. So what is a good strategy in an application? I am now inclined to use relative path and working directory both. And when there is change of runtime context just change the working directory and assemble the absolute path at runtime. And to save the working directory use "abspath" as suggested by Cameron. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: python -m pip install and pip install
Hongyi Zhao writes: > Hi, > > What's the diff: > > python -m pip install mod > and > pip install mod A very good use-case is when you have both, python2 and python3 installed. python2 -m pip install mod and python3 -m pip install mod will install the package in the corresponding PYTHONPATH. -- Regards Pankaj -- https://mail.python.org/mailman/listinfo/python-list
Re: python -m pip install and pip install
Hongyi Zhao writes: > Hongyi Zhao 于2019年10月8日周二 下午4:53写道: >> >> Cameron Simpson 于2019年10月8日周二 下午12:25写道: >> > >> > On 08Oct2019 02:49, Hongyi Zhao wrote: >> > >On Tue, 08 Oct 2019 06:28:05 +0530, Pankaj Jangid wrote: >> > >> A very good use-case is when you have both, python2 and python3 >> > >> installed. >> > >> python2 -m pip install mod >> > >> python3 -m pip install mod >> > >> will install the package in the corresponding PYTHONPATH. >> > >> >> > > >> > >If so, why not just: >> > >pip2 install mod >> > >and using: >> > >pip3 install mod >> > >> > Because of the slight disconnect between "pip2" and "python2", etc. Do >> > you _know_ they both use the same Python install? With "pythonX -m pip" >> > you're using the same python executable which will be accessing what you >> > just installed. >> >> I use pyenv + pip, which will do the trick. > > And nowadays, the pyenv + vurtualenv + pip + pipenv is the suggested > env management method for python. > In this way, the pipenv will solve the version dependence of the > underlying tool chain and corresponding used packages/modules. > Exactly. So the scripts will just work fine if you simply use ~import pip~ and work with it. Suppose you were writing bash scripts around python programs. Then what will be the behaviour of, pip2 install mod under a python3 environment. Similarly, there may be other commands specific to python2 and python3. All of them work flawlessly if you just replace python2 with python3. -- Regards, Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: python -m pip install and pip install
Michael Torrie writes: > On 10/10/19 1:21 AM, Pankaj Jangid wrote: >> So the scripts will just work fine if you simply use ~import pip~ >> and work with it. >> >> Suppose you were writing bash scripts around python programs. Then >> what will be the behaviour of, >> >> pip2 install mod >> >> under a python3 environment. > > If Python 2 wasn't installed, pip2 wouldn't be found at all. If Python 2 > was available, it would happily install mod under the default/current > Python 2 environment. > I am talking about environments where both python2 and python3 installed. >> Similarly, there may be other commands specific to python2 and >> python3. All of them work flawlessly if you just replace python2 with >> python3. > > Not sure what you're getting at there. I am just trying to think about scenarios where one approach is better than other. Nothing more. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: python -m pip install and pip install
Chris Angelico writes: > On Fri, Oct 11, 2019 at 3:37 PM אורי wrote: >> >> When you upgrade pip, you have to write: >> >> python -m pip install --upgrade pip >> >> When you install or upgrade anything else, you can write "pip install". >> >> You can't upgrade pip using "pip install --upgrade pip". >> > > Only a consideration on Windows. Other platforms are absolutely fine > upgrading pip either way. > Oh! I wasn't aware of this Windows thing. Thanks. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Pip not available
Ethan Woo writes: > I was using Python 3.7.4 for a project, and I needed to install the > *playsound* function. I looked through online and saw that I needed to use > pip. However, it didn't work. I looked online and saw that I needed to > install it through the application, however, now this problem pops up. > [image: image.png] > Can you help me with this? > python3 -m pip install -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Using Makefiles in Python projects
Chris Angelico writes: > On Sun, Nov 10, 2019 at 2:10 AM Thomas Jollans wrote: >> On 07/11/2019 20:20, Vitaly Potyarkin wrote: >> > What do you think of using Makefiles for automating common chores in >> > Python projects? Like linting, type checking and testing? >> > >> > I've come up with a reusable Makefile for automating virtual environment >> > management in Python projects. I think it can be useful for simplifying >> > the onboarding of new developers (both new to project and new to Python) >> > and for documenting project's development practices. >> > >> > Here it is: >> > - Repo: https://github.com/sio/Makefile.venv >> > - Demo screencast: https://asciinema.org/a/279646 >> > >> > What do you think? Is this useful or I'm just unaware of some tool that >> > abstracts venv chores away better? >> > >> As others have said, make is a useful tool and many people use it for >> different purposes in their Python projects. Nothing wrong with that. >> >> HOWEVER, at risk of stating the obvious, using Makefiles written for/on >> *nix systems on Windows is a bit of a hassle. If, for some reason, your >> software is *nix-only anyway, that's fine. If not, using make means >> sacrificing some portability. >> >> If your software runs on Windows, of you think it might run on Windows >> in the future, maybe consider writing simple Python scripts for >> platform-independent tasks rather than makefiles and shell scripts. >> > > Are you assuming that every Windows system has Python, but that you > can't get make or bash? Because neither half of that is true. I've > happily used makefiles on Windows, and these days, bash is as easy to > get hold of as Python is. Actually, the proposal to use Makefile is great. I have always been thinking about it and using it in my own projects. At my previous workplace there was compulsion to use Windows, so I had to setup Cygwin. And I had same level of difficulty setting up Python on Windows. So the difficulty level is same for Python and Make setup. Another advantage of using Make is that it is easy to configure portable mixed native programs with Python. To work on modern projects similar to NumPy, TensorFlow, PyCharm where half of the code is native and half Python, it is much easier to manage native part with Make. Autoconf, automake etc. utilities tells you in advance what native libraries are missing from the system - Windows or Linux. We should not forget that Data Science, Machine Learning etc. fields have helped in proliferation of Python lately. And the above mentioned libraries have great role. We should make it even more easier to manage mixed native projects portably. GNU Make is the way to go. Thanks for raising this. Regards, -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Can we use Python for hacking?
>> Someone requested my answer to the question: "Can we use Python for >> hacking?" > Sigh. I suppose it's a lost battle to reclaim that word. So true. I still remember the ESR article that I used to share twenty years ago. -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Unable to retrieve data from Juypter notebook
> Any help is appreciated.. Could you please elaborate a little bit? I didn't get from where you want to retrieve data? Is this somewhere hosted? Or you want to see raw files from your own Jupyter notebook running on your own machine. Regards, -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: tab replace to space 4
황병희 writes: > usally i write python code in gnu emacs on ubuntu 18.04 sometimes i > re-edit the code vim in same machine so often when i do run the code in > shell like as ./test.py i meet consol error -- which line wrong! > > so i am considering how can i replace all tab to space 4 within python > code. if there is solution in google i am very sorry. In Emacs, use "M-x untabify". And "M-x tabify" if you want to do the reverse. Regards, -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Developers are advised to purge these malicious packages
``` The Python security team removed two trojanized Python libraries from PyPI (Python Package Index) that were caught stealing SSH and GPG keys from the projects of infected developers. The first is "python3-dateutil," which imitated the popular "dateutil" library. The second is "jeIlyfish" (the first L is an I), which mimicked the "jellyfish" library. ``` https://www.zdnet.com/article/two-malicious-python-libraries-removed-from-pypi/ Regards, -- Pankaj Jangid -- https://mail.python.org/mailman/listinfo/python-list
Re: Developers are advised to purge these malicious packages
Christian Heimes writes: > On 04/12/2019 18.59, David Lowry-Duda wrote: >> I notice that "python3-dateutil" is in over 4000 github repositories >> [1]. That sounds like a disaster. >> >> [1]: https://github.com/search?q=python3-dateutil&type=Code > > At least the first pages are packaging files for Debian, Fedora, and > other Linux distributions. Downstream distributions provide a Python > package under multiple names. For example the Fedora's build spec [1] > creates python2-dateutil and python3-dateutil packages from the > python-dateutil upstream project. > > Attackers abuse the fact and try to typo-squat packages in hope that > somebody uses the Linux distribution package name "python3-dateutil" > instead of the upstream name "python-dateutil" in requirements.txt > Nice explanation. Thanks. -- https://mail.python.org/mailman/listinfo/python-list
[HN] How to Make Python Wait
https://news.ycombinator.com/item?id=21834408 -- https://mail.python.org/mailman/listinfo/python-list
Re: How to uninstall python 2 package specifically?
Chris Green writes: > I have two (or maybe even three) versions of Click installed:- > > /usr/local/lib/python2.7/dist-packages/click > /usr/local/lib/python3.7/dist-packages/click > /usr/lib/python3/dist-packages/click > > I run [x]ubuntu. > > How can I uninstall those extra versions of click (which have > presumably been installed by pip, how would I know?). For python2 package use pip, for python3 packages use pip3. -- https://mail.python.org/mailman/listinfo/python-list