How Do I Change The Name Of A File Path Correctly In Python?
My code specFileName = input('Enter the file path of the program you would like to capslock: ') inFile = open(specFileName, 'r') ified = inFile.read().upper() outFile = open(sp
Solution 1:
Look into the methods os.path.split
and os.path.splitext
from the os.path module.
Also, quick reminder: don't forget to close your "infile".
Solution 2:
Depending on exactly how you're trying to do this, there's several approaches.
First of all you probably want to grab just the filename, not the whole path. Do this with os.path.split
.
>>> pathname = r"C:\windows\system32\test.txt">>> os.path.split(pathname)
('C:\\windows\\system32', 'test.txt')
Then you can also look at os.path.splitext
>>> filename = "test.old.txt"
>>> os.path.splitext(filename)
('test.old', '.txt')
And finally string formatting would be good
>>>test_string = "Hello, {}">>>test_string.format("world") + ".txt"
"Hello, world.txt"
Put 'em together and you've probably got something like:
def make_upper(filename, new_filename):
with open(filename) as infile:
data = infile.read()
with open(new_filename) as outfile:
outfile.write(data.upper())
def main():
user_in = input("What's the path to your file? ")
path = user_in # just for clarity
root, filename = os.path.split(user_in)
head,tail = os.path.splitext(filename)
new_filename = "UPPER{}{}".format(head,tail)
new_path = os.path.join(root, new_filename)
make_upper(path, new_path)
Post a Comment for "How Do I Change The Name Of A File Path Correctly In Python?"