Automating My Life with Python: The Ultimate Guide | Code With Me
HTML-код
- Опубликовано: 1 июл 2024
- Hi friends! In this video we are going to be building some fun things with Python that can actually help automate tasks in your life! What should we build next?
Make sure to checkout oneAPI #oneAPI :
www.intel.com/content/www/us/...
www.intel.com/content/www/us/...
0:00 Intro
0:53 OneApi
1:29 Python Project 1 Intro
2:13 How To Setup Your Python Environment
3:50 Coding First Python Project
7:03 Python Project 2 Intro
7:59 Coding Second Python Project
Github: github.com/TiffinTech/
LinkedIn: / tiffany-janzen
Instagram: / tiffintech
Tiktok: www.tiktok.com/@tiffintech?la...
❤️ Subscribe for more videos using this link ruclips.net/user/tiffintech?su...
Business inquiries: info@thisistiffin.com
SIGNUP FOR MY NEW MONTHLY NEWSLETTER at www.tiffintech.co
✅ Exclusive discounts
✅ Tips from people in the STEM world
✅ Stay up to date with the latest tech events and news
✅ And so much more!
// My Story
I am currently a software developer who once modeled and thought I wanted to pursue a career in the fashion industry. While I was modeling in Hong Kong, I eventually felt the desire to further my education. I decided to depart the modeling world and move back to Canada, knowing that could be the end of my modeling opportunities. I attended Ryerson University for GCM (Graphic Communications Management), as I thought I might still work in the fashion industry in another capacity. It was in my last year of university, I was introduced to a very basic coding course. I instantly fell in love. From there I knew I wanted to pursue software development but didn't have a clue where to start. I didn't want to go back to university as I just completed a four-year degree. I decided to enroll in a 10-week intensive coding Bootcamp. From there I started working at a small startup learning and growing my technical and soft skills. I then transitioned to a larger company where I am a software developer and technical consultant today.
Automating My Life with Python: The Ultimate Guide | Code With Me
#AutomatingMyLifewithPython #tiffintech
Gonna need that source code 👀
Lewis saving the day! I meant to link that 😆 You can find the source code here:
github.com/TiffinTech/python-pdf-audo
github.com/TiffinTech/python-automate-delete-files
Hey Lewis! I love your videos by the way :) Have a great day!
@@TiffInTech hey Tiff, just sent u dm on insta , i found your channel today , i have mentioned my project work as well , i can say i can work for just $500 USD , a month . i would request you to please reply.
How to have your email adress?
@@TiffInTech Will it read epub files or is it just going to be PDFs? Also, what text editor have you used, please?
So, a really helpful function here would be the os walk function. It'll recursively iterate through every file in a directory. From there, in your loop you could check the file extension and remove based on that or any other condition. From there, you could use the argparse package and take arguments from the cli to ask the user things like what files they want to remove or the file extensions they want to remove. Then after that, you could think about putting everything in functions so as to not pollute the global namespace and use the standard "if __name__ == '__main__'" pattern. Lots of different, cool things you can do here, a great beginner project!
You finally convinced me to learn Python on my own. I'm a C++ and C# programmer and we don't use Python at work. You have been showing us what we can do with Python and I am amazed. Thanks for the tips. I'm interested in face recognition and fingerprints reading softwares.
give me your email to communicate with you please , I am interested in programmimg brave things
Hi friends! In this video we are going to be building some fun things with Python that can actually help automate tasks in your life! What should we build next?
HI Sister you teach one of the best way i ever heard its very easy to under stand can i request you for a Python DSA with projects It will be very helpful for new comer like me to learn and implement Thank you sooo much
Music creating (or a music generating with a presetup options) in python, and sounds creating too. Need something like that for my first Pygame project because of can not to find any good music with a free licence to use inside a game which I'm trying to make like during last month😁
a gui with tkinter would be great, so that opening an IDE is not necessary
She knows her stuff vsn we be freinds
Awesome tutorial and video Tiff!! Thanks for partnering with us on sharing #oneAPI 💙
💙💙💙
Just started a Data Science bootcamp - binge watching for tonnes of research. This was a great insight into something a little more interesting than the boring mess I've had thrown at me so far. Cheers.
Beautiful and Smart! Just starting my Python journey - will be tuning in for more! Thx Tiff, keep 'em coming!
Thanks Andy! I just shared another Python video as welll ❤️ wishing you all the best
I read webnovels and few years ago before Tencent saw the huge western market there were a bunch of different websites for each novel, they were translated into english.
So keeping track of them became a bit tiring and if I used a webpage if it was down, well RIP.
So I taught myself javascript and made a chrome extension that I can use on my PC and Tablet, using firebase to store my novels database.
I love stats so keeping track of what I read, how many words, chapters etc. was fun and useful. Some novels have character names that I don't like or use censorship on words, replacing them is easy, saving it for each novel individually and so on. Using it daily.
Another project of mine is a tool to add some data into my spreadsheet, I made a project that does a lot of calculations for me and adds it to the Google spreadsheet.
ofc there are others, but those too are my most used and useful ones.
I loved this. Would love to see more projects that youve done!
Thank you for the 2 inspiring projects.
When trying the first one, I had to spend quite a lot of time debugging, possibly due to the fact that the used modules have been updated since the video has been made and a number of functions had been renamed (even ChatGPT is not updated regarding PyPDF2 3.0.0 !). If you wish to save your time, here is the updated code, with a little correction to the loop:
import pyttsx3, PyPDF2
title = input("Which book would you like to listen to?
") + ".pdf"
pdfreader = PyPDF2.PdfReader(open(title, 'rb'))
speaker = pyttsx3.init()
first_page = input("Starting with what page?
")
last_page = input("Ending with what page?
")
text = ""
for page_number in range(int(first_page - 1), int(last_page)):
text = text + pdfreader.pages[page_number].extract_text()
clean_text = text.strip().replace('
', ' ')
print(clean_text)
speaker.save_to_file(clean_text, 'result2.mp3')
speaker.runAndWait
speaker.stop()
Now this version correctly prints out the converted text, but fails to create the mp3 file, don't know why. Chat GPT created this version of the code, which works, and the resulting voice reading is actually surprisingly clear:
import fitz # PyMuPDF
import pyttsx3
# Get the input file name
title = input("Which book would you like to listen to?
") + ".pdf"
# Initialize the text-to-speech engine
speaker = pyttsx3.init()
# User input for page range
first_page = int(input("Starting with what page?
"))
last_page = int(input("Ending with what page?
"))
# Initialize an empty text variable
text = ""
# Open the PDF file
pdf_document = fitz.open(title)
# Loop through pages and extract text
for page_number in range(first_page - 1, min(last_page, len(pdf_document))):
page = pdf_document.load_page(page_number)
text += page.get_text()
# Close the PDF document
pdf_document.close()
# Save the MP3 file
mp3_output = input("How would you like to call the resulting .mp3 file?
") + ".mp3"
speaker.save_to_file(text, mp3_output)
speaker.runAndWait()
speaker.stop()
print(f"Text extracted and saved as {mp3_output}")
Second one doesn’t work.
“ModuleNotFoundError: No module named ‘frontend’
After installing “frontend”
New error, “RuntimeError: Directory ‘static/‘ does not exist
1)Make a mouse and key logger, that saves mouse position, and major mouse events as a sequence. Use that to replay the sequence as fast as you want and as many times as u want using python.
2) find a way to put chatGPT talking to it self in python.
just call the function with the prompt as the response of the previous function call
Great video!!!
I would like to suggest a correction at 05:03 :-
text = pdfreader.getPage(page_num).extractText() actually works for PDFs that have a single page. But if a PDF has multiple pages, then the text gets overwritten with the contents of the new page. So, to avoid that we can append the new page's content to the current text and then format the text into clean_text after the end of the loop
Also, it seems there may be a limit on how much text can actually be saved as audio using the ".save_to_file()" method. No matter if i place a longer literal string value or use a variable the length of the audio file is always 6 seconds.
@@GrandAmericaMotorcycleRides No. It isn't the case for me. I'm able to save audio files that are even longer than 5 minutes!
@@teja00219 I'm actually getting 41 second files and it's always the last 41 seconds of the text.
Not to mention the clean_text var needs to be declared outside the for loop
Exactly my thoughts when I saw the code: with each iteration the `clean_text` variable will be overwritten (except for the single page case).
So I just discovered your channel. One thing many tech channels have in common is the presenter is horrible- fast paced, difficult to understand, and language barrier. This channel is none of those. So glad to find a channel that’s simple and straightforward.
Hey Tiff! This video is awesome! In your terminal for VSCode how do you get it to say "python"? My terminal shows a file path instead and doesn't look clean at all.
Thanks for sharing Tiff, the pdf to audio project would create a lot of time savings for me!
Glad it was helpful!
When you said "if even worse" I knew the downloads folder was coming haha... My work computer's downloads folder is the scariest place on Earth. Great vid!
I love the way you display what music you play!
Excellent. Thank you, this gets me excited to learn python.
Filling out forms has really been a livesaver for me. Especially when you can make it dynamic to work for several webpages.
Tiff , you are the best !!. I have learned a lot with you !!. Thanks
For Project 2, I really like using pathlib. You can iterate through a dynamic file path if you just did "for file in list(Path(downloads_folder).rglob('*.pdf')): file.unlink()" for pdf files. You can also do it via comprehension list.
This is the way. Pathlib should be the preferred way of dealing with file objects in place of the os library. There might be some niche scenarios where you want the os library, but for the most part PathLib provides what you need and in a superior format (i.e. it can handle various differences which occur between various file systems).
I second that. Arjian Codes did a video tutorial for pathlib some time ago, it's worth checking it out.
Permission to come aboard TnT 1st., time viewer of your show I thought that online discovery learning coding, is cool! MerryXmas🎅🏻 & may you have a fantastic holiday season❄,🤘🏼!
Thank you for sharing ....very helpful. I think that I will spend some time with Python thanks to your video. Very powerful and limitless
After years of programming in C, C+, etc., I fell in love with Python, Numpy and Pandas. I sincerely recommend :).
This was an inspiring video, I like the first project but I think i want to investigate observing images and attempting to pull text from images. I have a ton of old PDF's of scanned books that are no longer in print, that don't have any digital versions available, so it's just scans or nothing. That would be nice to be able to digitize.
Thx Tiff, love this!
I wanted to make a grocery shopping list, by selecting recipes in a database, where the code adds up all the amounts for each common item. Results come out in an Excel spreadsheet!
Awesome video. New sub here. Good deal to learn from ya! You RAWK!❤
This just what I´m lookig for! Thanks!
Thank you. Inspiring, regardless of the minor critical comments. Will work through it.
For those who are used to bundling exe files. pyinstaller for Python does a great job.
Your camera is amazing clear! The video looks so good and you look so good in it!
Would you mind me asking what dslr you are using?
A good lesson, if you know the web, then learning python will not be difficult.
Wow you made my life easier! Thanks a lot.
Amazing video!
Great way to apply Python in real life!
Thanks Kevin!
Thanks for making this tutorial 🙌
Hi,
Love your videos, what setup (software and hardware) are you using to create them?
please do never stop making videos. they are awesome
Nicely done!
might be a bug in pdf to mp3. You re only converting the last page of the pdf since you don't concatenate each page together in your loop.
Quite funny noone noticed :)
I tried and noticed immediately. Did you manage to solve it?
@@jaroslavkrbec582 clean_text += text.strip()... in the for loop (the + sign is adding text from every page to the string instead of rewriting the whole variable every iteration)
Damn you sir! for beating me to this EXACT comment.
@@firemankoxdi'm getting the error that clean_text is undefined when i do this any way to stop that
Clean up picture duplicates and file them by category or by date if they don't have a category (in a table). Recognize certain categories automagically (sailing pictures, motorcycle pictures, faces). I like the PDF reader! So nice and simple.
Great video! Can you play the .mp3 clip and/or post more info on how to match a specific voice for the mp3?
print("You are" + "pretty" + "and smart") .. sorry I couldn't help myself. Thanks for the video
Thank you! excellent video
Thanks for the video, I converted a 100-page pdf but the mp3 file generated was very short, less than a page. Am I missing anything? what do I need to add to the code to convert all 100 pages?
like the pdf to audio idea. BTW; I believe you are only saving the last page to the mp3. Intended ?
Amazing!!!
this was really cool
What learning material do you recommend for a beginner who wants to learn Python?
This was cool!
Wow, really cool, but i've a question about pdf speech reader script, is there any support to another language or is it only in english? Anyway... Nice job Tiffany, great stuff.
Nice project!
I've just noticed your video as I'm the maintainer of pypdf and PyPDF2. The timing was unfortunate: I've decided to deprecate PyPDF2 and move forward with pypdf.
The syntax is pretty much the same. However, you're also using the deprecated PdfFileReader. This will fail with PyPDF2>=3.0.0. As you haven't pinned the version in 3:30 people will stumble over this.
hi how do we solve this issue i keep getting the"sequence indices must be integers" error when i try to do. text = reader.pages[page_num].extractText()
@@lennyuwaeme I guess page_num is not an integer in your case. Check what it is. Maybe None? Maybe a string?
Here is updated code that should work with pypdf and grab all of the pages of a PDF document:
import pyttsx3, pypdf
pdfreader = pypdf.PdfReader(open('book.pdf', 'rb'))
speaker = pyttsx3.init()
clean_text = ''
for page_num in range(len(pdfreader.pages)):
text = pdfreader.pages[page_num].extract_text()
clean_text += text.strip().replace('
', '')
print(clean_text)
speaker.save_to_file(clean_text, 'story.mp3')
speaker.runAndWait()
speaker.stop()
Technically, there's nothing wrong with that loop (and it makes it look like the original in the video so it's good that way) but it would be more Pythonic (and readable) to avoid using that list like object to iterate over indices derived from that range. It's clearer to avoid indexing like that altogether since pdfreader.pages (as per above) is a list like object and can be iterated directly. That may not have been possible using PyPDF2 (I'm not sure -I'm sure @Martin Thoma could say).
Do something like:
for page in pdfreader.pages:
text = page.extract_text()
clean_text += text.strip().replace('
', '')
@@JeffreyShaffer My maaan! Totally works. Thanks!
in the first part, you got my curiosity. second part, you got my attention
happy to hear!
Neat, thanks.
Great 👍👍
Nice project, I love you.
Thanks for this video....Could you tell me about your camera?....Is it a Sony video camera?
Nice video and tutorial. Thanks. I
i love it keep going
Hi Tiff, Nice video and well-spoken. The PDF to audio might have a problem. I think that it will only produce the last page as audio, because all previous pages will be overwritten in the for loop.
why do you copy paste commands? or is it also a process of automation?
A pretty one 💚
The last program. Does it put the deleted file in the recycle bin?
very useful video Thanks
😊
Thank you!!
I love you Tiffany. This is really cool 😍 😍 🔥
Hi Tiffany,
I am very exciting to see your Python video that automate tasks very much,.
Which text editor are you using for this video?
Are you recommending to use Jupyter, PyCharm, Sublime?
Happy New Year to you
Thank you! Vscode
@@TiffInTech You should probably pin the comment made by @MartinThoma 🙂 Great video 👍
New to your channel, and I appreciate the production values and simple approach, but I found the video title a bit clickbaity - converting a PDF file to MP3 and deleting one file in your downloads folder isn't anyone's definition of "the ultimate guide" to "automating my life". Yes, you could extend them both a bit, but neither automate much at all - running a Python program still requires you to run it, and converting the MP3 still requires you to both run it and then play the file. I'm not hating, just wishing that people would be more honest in their titles.
cool video)
How do you get it to delete a specific file type for example if I wanted to delete all files that are .csv?
first time visitor... trying to set this up in pycharm... should that be doable without a lot of grief... also wondering if it would be possible to create a customizable filter for youtube... something that would allow you to create some diversity on what shows up on your youtube homepage.
Great!
thank you!
Hey Tiff what is your OS ?
Thank you really , can you make a python tutorial for complete beginners by building projects from scratch like 30 days of python , you really know how to teach , all respect and love from Belgium
Hi Tiff! Thank you so much for all you do for the community 😀. Question for you... I'm currently playing around with the PDF to audio example and am able to get it to read the text from the PDF after running the Python code in my terminal as suggested but it won't generate the .mp3 file for some reason despite my project having the PDF file needed. Any thoughts on why this could be? I've tried other PDF files as well and got the same result. Thanks!
You might not be running with appropriate permissions
Having the same issue. Its not a permissions issue. I add the code below to take the contents of clean_text and create a text file which it does without issue. I am running 3.9.6 and the demo uses 3.9.10 may look into the that. Awesome demo though. Very much enjoyed it.
with open('sample.txt', 'w') as f:
f.write(clean_text)
f.close()
@@chuckbelcher I don't believe it's a permission issue either. Currently running 3.9.6 as well. Were you able to update to 3.9.10 as shown in the video? If so, how did you do it? Thank you both for reaching out. Much appreciated!
Put it into Chat GPT. It would probably do a better job...
Sorry, but I expected to see an actual demo of the output once the code was created. It's like "he I created code which 'says' it does something, but I'm not going to actually show if it works or not"
A couple of things I see that might be an issue.
clean_text is defined in the for loop, so it's scope is not accessible outside of the for loop.
I'm not familiar with the PyPDF2 library, but it looks like extractPage is creating a string. clean_text seems to be getting set to this value with every iteration, meaning that when you have 5 pages of input, each page will overwrite the previous one, and it's value on the 5th iteration would only be the text on the 5th page. At a glance, the documentation shows that pages is an iterable property, so you could simplify the loop as well. This would be a good idea, since getPage is deprecated.
Probably I would fix this something like:
...
clean_pages_of_text = []
for page in pdfreader.pages:
page_text = page.extractText()
clean_pages_of_text.append( page_text.strip().replace('
', ' '))
text_for_speech = ''.join(clean_pages_of_text)
speaker.save_to_file(text_for_speech, 'story.mp3')
....
I'm perhaps being a bit more verbose with the code than needed, but just trying to make it easier to understand.
Thanks Tiff, but why don't you run the audio file to check it?
Cooooool 😇😇😇
There are two convenient small things. I try first code and see the sentences it print, but it can’t save anything. If I just use "speak.say(clean_text)", I can hear it fine. But when I try to "speak.say(clean_text)", then "save_to_file(clean_text, file name.mp3)", the production of mp3 file ends up being ahead of the actual pronunciation.
Hi Tiff, In order to read the PDF file, where should I save it. Like I use VScode for the coding for the first project.
Lol, if you just want to use the name, in the same folder. Otherwise you'd need to enter in the whole name in opens first argument.
Very good topic. Spelling mistakes are normal in live coding situations and non scripted sessions. Don’t initiate influence leakage by apologizing about your spellings when it is not a big deal. You have a good topic, good professional presentation however your copy/ script can be rehearsed to improve the flow. It gets better with experience and chatGPT. Good luck.
Simple Application Enter your details
ruclips.net/video/DWn5-Ej8R-M/видео.html
is that platform independent (works at linux? / ubuntu? )
For the second project:
How do you make it dynamic to look at all the PDF files or be able to look at files with similar names?
I know this is late
but you need to use a python module called "glob"
pdf_files = glob.glob("/path/to/dir/*.pdf")
this will basically take every file that ends with .pdf and put them in a list
and then you have to go through the list and delete each file in the list like this
if pdf_files:
for file in pdf_files:
os.remove(file)
print("PDF file/s have been removed successfully")
else:
print("No PDF files were found in the Downloads directory")
you could also modify the pattern like this
pdf_files = glob.glob("/path/to/dir/book*.pdf")
this will contain every file that starts with book and end with .pdf
for example these files will be deleted:
book.pdf
book1.pdf
book23423423.pdf
I liked how you said: "not gonna explain how to install python", though is this working as intended, it seems to me clean_text would contain only last page, because it's been overwritten in every iteration, and the resulting mp3 would be only for last page?
AMAZING
Cool
Hello , the thing I like in ur programming way is that u are not programming like super heroes , but u programme like ordinary people and u do magical things 🌹
witch program do you use to code in ptyhon?
Amazing video, can you tell me the model name of your desk?
This might be a silly question, but I'll ask anyway.
We can do the same thing in Jupyter Notebook right? 🤔
Thank you very much
what font is it ur using in ur editor?
I'd like to hear that resulting book.mp3 file. Is it very robotic or does it sound natural? Is it audiobook quality or would it drive you insane?
What's IDLE you use?
The Intel one API thing sounds good.
It really is!
what a magic, great
when you use a new library, how do you know how to use the new functions?
What is it that shows the errors with the red arrows and green arrows for functioning code in terminal? 2:51
Hello very good your class of Python
Is this useful for RPA development?
I was struggling with pdf project so much, you don't have idea, I'm just thinking about more implementations that I can input and all that stuff lmao