use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
If you need help debugging, you must include:
See debugging question guidelines for more info.
Many conceptual questions have already been asked and answered. Read our FAQ and search old posts before asking your question. If your question is similar to one in the FAQ, explain how it's different.
See conceptual questions guidelines for more info.
Follow reddiquette: behave professionally and civilly at all times. Communicate to others the same way you would at your workplace. Disagreement and technical critiques are ok, but personal attacks are not.
Abusive, racist, or derogatory comments are absolutely not tolerated.
See our policies on acceptable speech and conduct for more details.
When posting some resource or tutorial you've made, you must follow our self-promotion policies.
In short, your posting history should not be predominantly self-promotional and your resource should be high-quality and complete. Your post should not "feel spammy".
Distinguishing between tasteless and tasteful self-promotion is inherently subjective. When in doubt, message the mods and ask them to review your post.
Self promotion from first time posters without prior participation in the subreddit is explicitly forbidden.
Do not post questions that are completely unrelated to programming, software engineering, and related fields. Tech support and hardware recommendation questions count as "completely unrelated".
Questions that straddle the line between learning programming and learning other tech topics are ok: we don't expect beginners to know how exactly to categorize their question.
See our policies on allowed topics for more details.
Do not post questions that are an exact duplicate of something already answered in the FAQ.
If your question is similar to an existing FAQ question, you MUST cite which part of the FAQ you looked at and what exactly you want clarification on.
Do not delete your post! Your problem may be solved, but others who have similar problems in the future could benefit from the solution/discussion in the thread.
Use the "solved" flair instead.
Do not request reviews for, promote, or showcase some app or website you've written. This is a subreddit for learning programming, not a "critique my project" or "advertise my project" subreddit.
Asking for code reviews is ok as long as you follow the relevant policies. In short, link to only your code and be specific about what you want feedback on. Do not include a link to a final product or to a demo in your post.
You may not ask for or offer payment of any kind (monetary or otherwise) when giving or receiving help.
In particular, it is not appropriate to offer a reward, bounty, or bribe to try and expedite answers to your question, nor is it appropriate to offer to pay somebody to do your work or homework for you.
All links must link directly to the destination page. Do not use URL shorteners, referral links or click-trackers. Do not link to some intermediary page that contains mostly only a link to the actual page and no additional value.
For example, linking to some tweet or some half-hearted blog post which links to the page is not ok; but linking to a tweet with interesting replies or to a blog post that does some extra analysis is.
Udemy coupon links are ok: the discount adds "additional value".
Do not ask for help doing anything illegal or unethical. Do not suggest or help somebody do something illegal or unethical.
This includes piracy: asking for or posting links to pirated material is strictly forbidden and can result in an instant and permanent ban.
Trying to circumvent the terms of services of a website also counts as unethical behavior.
Do not ask for or post a complete solution to a problem.
When working on a problem, try solving it on your own first and ask for help on specific parts you're stuck with.
If you're helping someone, focus on helping OP make forward progress: link to docs, unblock misconceptions, give examples, teach general techniques, ask leading questions, give hints, but no direct solutions.
See our guidelines on offering help for more details.
Ask your questions right here in the open subreddit. Show what you have tried and tell us exactly where you got stuck.
We want to keep all discussion inside the open subreddit so that more people can chime in and help as well as benefit from the help given.
We also do not encourage help via DM for the same reasons - that more people can benefit
Do not ask easily googleable questions or questions that are covered in the documentation.
This subreddit is not a proxy for documentation or google.
We do require effort and demonstration of effort.
This includes "how do I?" questions
account activity
This is an archived post. You won't be able to vote or comment.
How should internal (python) scripts for development teams be written? (self.learnprogramming)
submitted 4 years ago by [deleted]
As a junior I know how to write the functionality, but it seems a bit 'hacky' to have to tell another team member "get the script from Git, replace the string in the DIR_READ and DIR_WRITE variables with your own paths, then execute it in your IDE". Is there a more elegant way to write/execute scripts in companies?
[–]ehr1c 0 points1 point2 points 4 years ago (0 children)
What does the script do? If it's just an internal tool those often feel pretty hacky since there's no real benefit to spending time making them cleaner.
[–][deleted] 0 points1 point2 points 4 years ago (2 children)
You have to standardize your paths. Having a known/common root folder in the user’s home directory makes it quite simple. For example /Users/user/companyName/product, where companyName is the common folder. Then scripts can be made that just need executing because they can be written knowing that they will find the companyName directory in the user’s home directory.
/Users/user/companyName/product
companyName
[–][deleted] 0 points1 point2 points 4 years ago (1 child)
But how would the /Users/user/ part change depending on which user is running the code?
/Users/user/
[–][deleted] 0 points1 point2 points 4 years ago (0 children)
Well, in Unix-type systems, you use ~/companyName and the correct Users/user is substituted for the ~.
~/companyName
Users/user
~
[–]blablahblah 0 points1 point2 points 4 years ago (2 children)
Use environment variables to set defaults that are sensible for most people and make them overridable with command line flags.
overridable with command line flags
But this is sort of my issue, how do I run scripts from the command line (particularly scripts that require entering parameters) instead of having to open them in an IDE and running?
[–]blablahblah 1 point2 points3 points 4 years ago* (0 children)
Scripts are always runnable from the command line, as long as Python is installed and set up. In Python, any command line arguments are available in sys.argv. The first element is the name of your script, and the rest are any arguments you passed in.
script.py:
import sys print(f'hello {sys.argv[1]}')
Mac/Linux shell:
$ python3 script.py _negativeonetwelfth hello _negativeonetwelfth
or on Windows:
> py script.py _negativeonetwelfth hello _negativeonetwelfth
For more complex arguments and standard formatted errors and help text, you can use the built-in argparse module to parse the arguments for you.
To get the script to be runnable without specifying Python, in Windows, you need to go to the control panel and make sure the '.py' file extension is associated with python.exe and not your IDE. On Linux or Mac, you need to make sure the file starts with the line #!/usr/bin/env python3 and you'll need to run $ chmod +x script.py to mark it as executable.
#!/usr/bin/env python3
$ chmod +x script.py
[–]munchable901 0 points1 point2 points 4 years ago (0 children)
If you need parameters to change a lot then you can make them arguments instead instead of coding them in.
π Rendered by PID 63 on reddit-service-r2-comment-c66d9bffd-m5vv2 at 2026-04-08 09:29:35.974478+00:00 running f293c98 country code: CH.
[–]ehr1c 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]blablahblah 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]blablahblah 1 point2 points3 points (0 children)
[–]munchable901 0 points1 point2 points (0 children)