1+ import os
2+ import shutil
3+
4+ class file :
5+
6+ def __init__ (self , filename ):
7+ if "." not in filename :
8+ print ("Please choose a file with an extension (.txt, .html, etc.)" )
9+ if "." in filename :
10+ self .filename = filename
11+ self .edit = self .edit (self )
12+
13+ def exists (self ):
14+ try :
15+ return os .path .isfile (self .filename ):
16+ except Exception as e :
17+ print (f"An error occured checking if { self .filename } exists" )
18+
19+
20+ def rename (self , new_filename ):
21+ try :
22+ os .rename (filename , new_filename )
23+ self .filename = new_filename
24+ return self
25+ except FileNotFoundError :
26+ print (f"File { self .filename } does not exist at that directory" )
27+ except PermissionError :
28+ print (f"Permission denied renaming { self .filename } " )
29+ except Exception as e :
30+ print (f"An error occured while renaming { self .filename } " )
31+
32+ def delete (self ):
33+ try :
34+ os .remove (self .filename )
35+ self .filename = None
36+ return self
37+ except FileNotFoundError :
38+ print (f"File { self .filename } does not exist at that directory" )
39+ except PermissionError :
40+ print (f"Permission denied deleting { self .filename } " )
41+ except Exception as e :
42+ print (f"An error occured while deleting { self .filename } " )
43+
44+ def remove (self ):
45+ try :
46+ os .remove (self .filename )
47+ self .filename = None
48+ return self
49+ except FileNotFoundError :
50+ print (f"File { self .filename } does not exist at that directory" )
51+ except PermissionError :
52+ print (f"Permission denied removing { self .filename } " )
53+ except Exception as e :
54+ print (f"An error occured while removing { self .filename } " )
55+
56+ def make (self ):
57+ try :
58+ if os .path .isfile (self .filename ):
59+ print (f"File { self .filename } already exists...continuing..." )
60+ return self
61+ f = open (self .filename , 'w' )
62+ f .close ()
63+ return self
64+ except PermissionError :
65+ print (f"Permission denied while making { self .filename } " )
66+ except Exception as e :
67+ print (f"An error occured while making { self .filename } " )
68+
69+ def create (self ):
70+ try :
71+ f = open (self .filename , 'w' )
72+ f .close ()
73+ return self
74+ except PermissionError :
75+ print (f"Permission denied while creating { self .filename } " )
76+ except Exception as e :
77+ print (f"An error occured while creating { self .filename } " )
78+
79+ def copy (self , new_filename ):
80+ try :
81+ shutil .copy2 (self .filename , new_filename )
82+ return self
83+ except FileNotFoundError :
84+ print (f"File { self .filename } does not exist at that directory" )
85+ except PermissionError :
86+ print (f"Permission denied while copying { self .filename } " )
87+ except Exception as e :
88+ print (f"An error occured while copying { self .filename } to { new_filename } " )
89+ print ("Enter a new directory, including the new name" )
90+
91+ def read (self ):
92+ try :
93+ with open (self .filename , 'r' , encoding = "utf8" ) as file :
94+ return str (file .read ())
95+ except FileNotFoundError :
96+ print (f"File { self .filename } does not exist at that directory" )
97+ except PermissionError :
98+ print (f"Permission denied while reading { self .filename } " )
99+ except Exception as e :
100+ print (f"An error occurred while reading { self .filename } " )
101+
102+ def print (self ):
103+ try :
104+ print (self .read ())
105+ return self
106+ except FileNotFoundError :
107+ print (f"File { self .filename } does not exist at that directory" )
108+ except PermissionError :
109+ print (f"Permission denied while printing { self .filename } " )
110+ except Exception as e :
111+ print (f"An error occurred while printing { self .filename } " )
112+
113+ def append (self , append_string ):
114+ try :
115+ with open (self .filename , 'a' ) as file :
116+ file .write (append_string )
117+ return self
118+ except FileNotFoundError :
119+ print (f"File { self .filename } does not exist at that directory" )
120+ except PermissionError :
121+ print (f"Permission denied while writing { append_string } to { self .filename } " )
122+ except Exception as e :
123+ print (f"An error occurred while writing { append_string } to { self .filename } " )
124+
125+ def move (self , new_location ):
126+ try :
127+ shutil .move (self .filename , new_location )
128+ self .filename = new_location
129+ return self
130+ except FileNotFoundError :
131+ print (f"File { self .filename } does not exist at that directory" )
132+ except PermissionError :
133+ print (f"Permission denied while moving { self .filename } to { new_location } " )
134+ except Exception as e :
135+ print (f"An error occurred while writing { self .filename } to { new_location } " )
136+
137+
138+ def write (self , write_string ):
139+ try :
140+ self .edit .clear ()
141+ self .edit .append (write_string )
142+ return self
143+ except FileNotFoundError :
144+ print (f"File { self .filename } does not exist at that directory" )
145+ except PermissionError :
146+ print (f"Permission denied while writing { self .filename } " )
147+ except Exception as e :
148+ print (f"An error occurred while writing { self .filename } " )
149+
150+ def replace (self , first_string , second_string , occurences = 0 ):
151+ try :
152+ with open (self .filename , 'r' ) as file :
153+ data = file .read ()
154+ if occurences != 0 or occurences < 0 :
155+ data = data .replace (first_string , second_string , occurences )
156+ else :
157+ while first_string in data :
158+ data = data .replace (first_string , second_string )
159+ with open (self .filename , 'w' ) as file :
160+ file .write (data )
161+ return self
162+ except FileNotFoundError :
163+ print (f"File { self .filename } does not exist at that directory" )
164+ except PermissionError :
165+ print (f"Permission denied while replacing { first_string } with { second_string } in { self .filename } " )
166+ except Exception as e :
167+ print (f"An error occurred while replacing { first_string } with { second_string } in { self .filename } " )
168+
169+ def get_filename (self ):
170+ return self .filename
171+
172+ #def set_filename(self, new_filename):
173+ # try:
174+ # self.filename = new_filename
175+ # return self
176+ # except Exception as e:
177+ # print(f"An error occured while setting filename to {new_filename}")")
178+
179+ def copy_and_rename (self , new_file_name ):
180+ shutil .copyfile (self .filename , new_file_name )
181+ return self
182+
183+ def copyAndRename (self , newFileName ):
184+ shutil .copyfile (self .filename , newFileName )
185+ return self
186+
187+
188+ class edit :
189+ def __init__ (self , outer_instance ):
190+ self .outer_instance = outer_instance
191+
192+ def replace (self , first_string , second_string , occurences = 0 ):
193+ try :
194+ with open (self .outer_instance .filename , 'r' ) as file :
195+ data = file .read ()
196+ if occurences != 0 or occurences < 0 :
197+ data = data .replace (first_string , second_string , occurences )
198+ else :
199+ while first_string in data :
200+ data = data .replace (first_string , second_string )
201+ with open (self .outer_instance .filename , 'w' ) as file :
202+ file .write (data )
203+ return self .outer_instance
204+ except FileNotFoundError :
205+ print (f"File { self .outer_instance .filename } does not exist at that directory" )
206+ except PermissionError :
207+ print (f"Permission denied while replacing { first_string } with { second_string } in { self .outer_instance .filename } " )
208+ except Exception as e :
209+ print (f"An error occurred while replacing { first_string } with { second_string } in { self .outer_instance .filename } " )
210+
211+ def append (self , append_string ):
212+ try :
213+ with open (self .outer_instance .filename , 'a' ) as file :
214+ file .write (append_string )
215+ return self .outer_instance
216+ except FileNotFoundError :
217+ print (f"File { self .outer_instance .filename } does not exist at that directory" )
218+ except PermissionError :
219+ print (f"Permission denied while writing { append_string } to { self .outer_instance .filename } " )
220+ except Exception as e :
221+ print (f"An error occurred while writing { append_string } to { self .outer_instance .filename } " )
222+
223+ def clear (self ):
224+ try :
225+ open (self .outer_instance .filename , 'w' ).close ()
226+ return self .outer_instance
227+ except FileNotFoundError :
228+ print (f"File { self .outer_instance .filename } does not exist at that directory" )
229+ except PermissionError :
230+ print (f"Permission denied while clearing { self .outer_instance .filename } " )
231+ except Exception as e :
232+ print (f"An error occurred while clearing { self .outer_instance .filename } " )
233+
234+ def write (self , write_string ):
235+ try :
236+ self .clear ()
237+ self .append (write_string )
238+ return self .outer_instance
239+ except FileNotFoundError :
240+ print (f"File { self .outer_instance .filename } does not exist at that directory" )
241+ except PermissionError :
242+ print (f"Permission denied while writing { self .outer_instance .filename } " )
243+ except Exception as e :
244+ print (f"An error occurred while writing { self .outer_instance .filename } " )
245+
246+ def copy_and_rename (self , new_file_name ):
247+ shutil .copyfile (self .outerinstance .filename , new_file_name )
248+ return self .outer_instance
249+
250+ def copyAndRename (self , newFileName ):
251+ shutil .copyfile (self .outerinstance .filename , newFileName )
252+ return self .outer_instance
253+
254+
255+
256+
257+
258+
0 commit comments