Skip to content

Commit 587c942

Browse files
authored
Initial Commit
1 parent 59e5b17 commit 587c942

File tree

4 files changed

+647
-0
lines changed

4 files changed

+647
-0
lines changed

PyBetterFileIO/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from PyBetterFileIO.file import *
2+
from PyBetterFileIO.folder import *

PyBetterFileIO/file.py

Lines changed: 258 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,258 @@
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

Comments
 (0)