importmoviepy.editorimporttkinter.filedialogprint("press Y to choose the video file to enter:")ifinput().casefold()=='y':video_path=tkinter.filedialog.askopenfilename()video=moviepy.editor.VideoFileClip(video_path)audio=video.audioaudio.write_audiofile('Audio1.mp3')else:print("You need to choose a file to move ahead")
After you install the setup successfully, take a note of where you are saving the file because we need that path in our code.
2. Install pytesseract by using command : pip install pytesseract
3. Install pillow by using command : pip install pillow
Source Code:
importpytesseractfromPILimportImagepytesseract.pytesseract.tesseract_cmd=r'C:\Program Files\Tesseract-OCR\tesseract.exe'value=Image.open('logo.png')text=pytesseract.image_to_string(value)print("Extracted Data is: \n ",text)
Notice that if you want to add full path, you need to add double slash (\\) instead of single slash (\) in you path
For Example: If your path looks like this: D:\Python_Program\my_Image.jpg
Then replace \ with \\
something like : D:\\Python_Program\\my_Image.jpg
Or
Add alphabet 'r' before your string example: r'C:\Program Files\Tesseract-OCR\tesseract.exe'
fromtextblobimportTextBlobmisspelled_word="Incorrct"corrected_word=TextBlob(misspelled_word).correct()print("Misspelled Word:",misspelled_word)print("Corrected Word: ",corrected_word)# you can also use list of misspelled wordsprint("========================================================")misspelled_word_list=['Incorrct','Mang','Summay','Watr','Appl']forwordinmisspelled_word_list:correct_word=TextBlob(word).correct()print("Misspelled Word:",misspelled_word_list)print("Corrected Word: ",correct_word)
Using pyspellchecker:
fromspellcheckerimportSpellCheckerspell=SpellChecker()misspelled_word=spell.unknown(['Incorrct','Summry','Mondy','Spellng','Pyhon'])print(type(misspelled_word))forwordinmisspelled_word:print("Corrected word is ",spell.correction(word))print("Candidate words:",spell.candidates(word))
You can play around this code and make changes according to your need!
You can also read a text file and use this code to check the spellings in the file
fromtextblobimportTextBlobfromspellcheckerimportSpellCheckerf=open('demo.txt','r')data=str(f.read())print(data)# you can also use list of misspelled wordsprint("\n\n**************************Using textblob**************************************")misspelled_word_list=data.split()forwordinmisspelled_word_list:correct_word=TextBlob(word).correct()print("\nWord: ",word)print('------------------------------')print("Corrected Word: ",correct_word)print("\n================================")print('\n***************************Using pyspellchecker***********************************')spell=SpellChecker()misspelled_word=spell.unknown(misspelled_word_list)print(type(misspelled_word))forwordinmisspelled_word:print("\nword: ",word)print('--------------------------------------------')print("Corrected word is ",spell.correction(word))print('--------------------------------------------')print("Candidate words:",spell.candidates(word))print("\n================================")f.close()
output:
Artifcial intelligence (AI), someties called macine intelligence, is intellience demonstated by machines, unlike the
naural intelligence dislayed by humans and animls.
**************************Using textblob**************************************
Word: Artifcial
------------------------------
Corrected Word: Artificial
================================
Word: intelligence
------------------------------
Corrected Word: intelligence
================================
Word: (AI),
------------------------------
Corrected Word: (of),
================================
Word: someties
------------------------------
Corrected Word: sometimes
================================
Word: called
------------------------------
Corrected Word: called
================================
Word: macine
------------------------------
Corrected Word: machine
================================
Word: intelligence,
------------------------------
Corrected Word: intelligence,
================================
Word: is
------------------------------
Corrected Word: is
================================
Word: intellience
------------------------------
Corrected Word: intelligence
================================
Word: demonstated
------------------------------
Corrected Word: demonstrated
================================
Word: by
------------------------------
Corrected Word: by
================================
Word: machines,
------------------------------
Corrected Word: machines,
================================
Word: unlike
------------------------------
Corrected Word: unlike
================================
Word: the
------------------------------
Corrected Word: the
================================
Word: naural
------------------------------
Corrected Word: natural
================================
Word: intelligence
------------------------------
Corrected Word: intelligence
================================
Word: dislayed
------------------------------
Corrected Word: displayed
================================
Word: by
------------------------------
Corrected Word: by
================================
Word: humans
------------------------------
Corrected Word: humans
================================
Word: and
------------------------------
Corrected Word: and
================================
Word: animls.
------------------------------
Corrected Word: animals.
================================
***************************Using pyspellchecker***********************************
<class 'set'>
word: (ai),
--------------------------------------------
Corrected word is (ai),
--------------------------------------------
Candidate words: {'(ai),'}
================================
word: someties
--------------------------------------------
Corrected word is sometimes
--------------------------------------------
Candidate words: {'sometimes'}
================================
word: machines,
--------------------------------------------
Corrected word is machines
--------------------------------------------
Candidate words: {'machines'}
================================
word: intelligence,
--------------------------------------------
Corrected word is intelligence
--------------------------------------------
Candidate words: {'intelligences', 'intelligence'}
================================
word: demonstated
--------------------------------------------
Corrected word is demonstrated
--------------------------------------------
Candidate words: {'demonstrated'}
================================
word: naural
--------------------------------------------
Corrected word is natural
--------------------------------------------
Candidate words: {'natural', 'aural', 'neural'}
================================
word: dislayed
--------------------------------------------
Corrected word is displayed
--------------------------------------------
Candidate words: {'displayed', 'dismayed'}
================================
word: animls.
--------------------------------------------
Corrected word is animals
--------------------------------------------
Candidate words: {'animist', 'animus', 'animals', 'animism'}
================================
word: macine
--------------------------------------------
Corrected word is machine
--------------------------------------------
Candidate words: {'machine', 'maine', 'racine', 'maxine', 'marine'}
================================
word: intellience
--------------------------------------------
Corrected word is intelligence
--------------------------------------------
Candidate words: {'intelligence'}
================================
word: artifcial
--------------------------------------------
Corrected word is artificial
--------------------------------------------
Candidate words: {'artifical', 'artificial'}
================================
string_data=input("Enter a string:")vowels={'a','e','i','o','u'}# Using Count() Methodlist1=[]forchinstring_data:ifchinvowels:ifchnotinlist1:list1.append(ch)print("{} occurred {} times".format(ch,string_data.count(ch)))
Without using count() method:
string_data=input("Enter a string:")vowels={'a','e','i','o','u'}d={}forchinstring_data:ifchinvowels:d[ch]=d.get(ch,0)+1print(d)forkey,valueinsorted(d.items()):print(key,"occurred",value,"times")
string_data=input("Enter string: ")d={}forxinstring_data:d[x]=d.get(x,0)+1print(d)print(d.items())# for meaningful outputforkey,valueinsorted(d.items()):print(key,"occurred",value,"times")
Question by Subscriber:
How to ignore special characters like ? , . etc
If you want to ignore special characters and focus on the alphabets and digits only, then you can do that by some extra work
You can either import string class to get a set of all characters that you need to focus on, or you can manually add the set of characters you particularly want to focus on.
we will name them as valid_characters Here goes the code:
Assume input string contains only alphabet symbols and digits.
We need to write a program to sort characters of the string were we will sort alphabets first and then digits will follow
Sample Input: C8N9A2U6R5B7
Output: ABCNRU256789
string_data=input("Enter some alphanumeric string to sort: ")alphabets=[]digits=[]forchinstring_data:ifch.isalpha():alphabets.append(ch)else:digits.append(ch)result=''.join(sorted(alphabets)+sorted(digits))print("You entered: ",string_data)print("Final result after Sorting: \n",result)
Let us understand the two scenarios of this problem
Scenario1: If both the strings are of same length:
string1=input("Enter first string: ")string2=input("Enter second string: ")i,j=0,0# object initialization using Tuple Unpackingresult=""whilei<len(string1)orj<len(string2):result=result+string1[i]+string2[j]i=i+1j=j+1print("You entered first string : ",string1)print("You entered second string : ",string2)print("Final result after alternate merge: \n",result)
Scenario 2: If the strings have different length:
string1=input("Enter first string: ")string2=input("Enter second string: ")i,j=0,0# object initialization using Tuple Unpackingresult=""whilei<len(string1)orj<len(string2):ifi<len(string1):result=result+string1[i]i=i+1ifj<len(string2):result=result+string2[j]j=j+1print("You entered first string: ",string1)print("You entered second string: ",string2)print("Final result after alternate merge: \n",result)
string_data=input("Enter a string: ")print("Characters present at even index position: ")i=0whilei<len(string_data):print(string_data[i])i=i+2print("Characters present at odd index position: ")i=1whilei<len(string_data):print(string_data[i])i=i+2
2nd Way:
string_data=input("Enter a string: ")print("Characters present at even index position: ")print(string_data[::2])# orprint(string_data[0::2])print("Characters present at odd index position: ")print(string_data[1::2])
Sample Input: one two three four five six seven eight
Output: one owt three ruof five xis seven thgie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
string_data=input("Enter a string: ")list1=string_data.split()print(list1)list2=[]i=0whilei<len(list1):ifi%2==0:list2.append(list1[i])else:list2.append(list1[i][::-1])# Reversing word and then adding to list2i=i+1print(list2)result=" ".join(list2)print("The string you entered:",string_data,sep="\n")print("The result after reversing order of words in the string: ",result,sep="\n")
string_data=input("Enter a string: ")list1=string_data.split()print(list1)list2=[]forwordinlist1:list2.append(word[::-1])# Reversing word and then adding to list2print(list2)result=" ".join(list2)print("The string you entered:",string_data,sep="\n")print("The result after reversing order of words in the string: ",result,sep="\n")
Sample Input: Hello everyone ! Welcome to MV's Code Guide
Output: Guide Code MV's to Welcome ! everyone Hello
Using Slice operator:
1
2
3
4
5
6
7
8
string_data=input("Enter a string: ")list1=string_data.split()#Using Slice Operator to reverse the items of list1list2=list1[::-1]# Using join() to form a string from items of list2 result=" ".join(list2)print("The string you entered:",string_data,sep="\n")print("The result after reversing order of words in the string: ",result,sep="\n")
Using While loop:
1
2
3
4
5
6
7
8
9
10
11
12
string_data=input("Enter a string: ")list1=string_data.split()print(list1)list2=[]i=len(list1)-1whilei>=0:list2.append(list1[i])i=i-1print(list2)result=" ".join(list2)print("The string you entered:",string_data,sep="\n")print("The result after reversing order of words in the string: ",result,sep="\n")
string_data=input("Enter data you want to reverse")result=string_data[::-1]print("The string data you entered is :",string_data)print("The reversed string is:",result)
2nd way: Using reversed() function:
Python provides inbuilt function reversed()
It returns reversed object and you can use join() method of strings to get your required output form reversed object.
1
2
3
4
5
6
7
string_data=input("Enter data you want to reverse")reversed_object=reversed(string_data)print("The string data you entered is :",string_data)forcharacterinreversed_object:print(character,end='')print()print(type(reversed_object))
3rd way : Using While loop:
1
2
3
4
5
6
7
8
string_data=input("Enter data you want to reverse: ")result=""i=len(string_data)-1whilei>=0:result=result+string_data[i]i=i-1print("The string data you entered is :",string_data)print("String data after reversal: ",result)