Skip to main content

Python - Need help renaming all pdf in a folder based on 2 criteria

I am very new to programing, and I am trying to strengthen my Python skills via unique problems I find at my job. Currently, I have a program that is exporting PDFs from a remote desktop and it is automatically lowercasing all of the letters in the filename. We use two different item code formats, so I need to come up with a way to rename them all at once so that I can run a script periodically to fix this issue and gain my sanity back. I will provide examples of what I have, and what I want to convert the names to below:

Materials 4000a example material test 4000A Example Material Test

Finished Products

test-2000a-tp-a example finished product TEST-2000A-TP-A Example Finished Product

I am not sure how to best do this, but you can see exactly which positions I want to capitalize based on these formats. The materials one should be easier, the finished product one will take a little more creativity probably. I have looked around on here, Github, and a few other places...and I like this framework from GitHub but I can't figure out how to write the code for the renaming of the above examples. I have both types in the same folder, so I would like to have a script that does both and uses the try/except, and the confirmation of change so that I can prevent mistakes and learn to write better code.

Here is the code that I have now, with the section I need help on shown in comments:

import os

folder = '/Dev/Test_Rename_PDF'

for fileName in os.listdir('.'):
    try:
        # Find all PDF (all of them are, but I wanted a more diverse script for future uses)
        if fileName.lower()[-3:] != "pdf":
            continue
        print("Processing " + fileName)
        
        # Uppercase based on the two conditions I provided above.
        # (NEED HELP HERE)

        # Ask user for confirmation to change
        option = raw_input("Do you want to rename '" + fileName + "'' to '" + newName + "'? [y][n]: ")
        option = option.lower()

        # Change if approved
        if(option.startswith('y')):
            os.rename(fileName, newName)

    except:
        print("Error in processing: " + fileName)

I'm trying my best to learn by doing with Python right now, and I know I probably have other mistakes, but I am doing my best and taking online classes as I have time. I appreciate your time!



source https://stackoverflow.com/questions/75881692/python-need-help-renaming-all-pdf-in-a-folder-based-on-2-criteria

Comments

Popular posts from this blog

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

How to split a rinex file if I need 24 hours data

Trying to divide rinex file using the command gfzrnx but getting this error. While doing that getting this error msg 'gfzrnx' is not recognized as an internal or external command Trying to split rinex file using the command gfzrnx. also install'gfzrnx'. my doubt is I need to run this program in 'gfzrnx' or in 'cmdprompt'. I am expecting a rinex file with 24 hrs or 1 day data.I Have 48 hrs data in RINEX format. Please help me to solve this issue. source https://stackoverflow.com/questions/75385367/how-to-split-a-rinex-file-if-i-need-24-hours-data