Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Variable Scope for Scripts
#6
(Dec-01-2017, 06:01 PM)snippsat Wrote:
(Dec-01-2017, 02:59 PM)QueenSvetlana Wrote: The way I've declared file_name and files_to_backup are not in a global way, correct?
That's not correct the are in Global namespace,
so the are global variables in that code,
but they are fine as the are the last step and can not interfere with other stuff.

Suppose I rewrote my script to look like this:

def read_data_from_file(file_to_read):
    #code to read from file and build list
    return list_of_files
 
def copy_files_to_backup_folder(file_to_copy):
    #code to copy files
    
def is_backup_successful():
    #code to verify that the a compressed file was created 
    
def write_log_file(file_name):
    #code to generate a log file 
 
file_name="some/path/to/file"
files_to_backup = read_data_from_file(file_name)
 
for f in files_to_backup:
    copy_files_to_backup_folder(f)

is_backup_successful()
write_log_file(file_name):
Notice that there is no specific reason why my backup script should be written in Python. I'm not even using what OOP has to offer to create my script because as it is right now, I don't need too. I could have just used Powershell(Windows 7+) or a Bash script(Linux). In a case such as this, where my Python script could easily be transferred to a shell script, is using global variables the way I have a concern?

My script has a simple reason to exist, create a backup, and write a log file, nothing more. For simple tasks such as this, are global variables a problem? I understand that if my problem were to evolve then, I might consider using classes. For example, suppose if I need to transfer my backup directory to a network drive, and also be able to pull the latest backup, and restore, and I also want to add different compression formats. Now my problem is becoming more complex and the use for classes becomes necessary.
Reply


Messages In This Thread
Variable Scope for Scripts - by QueenSvetlana - Dec-01-2017, 03:34 AM
RE: Variable Scope for Scripts - by snippsat - Dec-01-2017, 02:40 PM
RE: Variable Scope for Scripts - by QueenSvetlana - Dec-01-2017, 02:59 PM
RE: Variable Scope for Scripts - by snippsat - Dec-01-2017, 06:01 PM
RE: Variable Scope for Scripts - by QueenSvetlana - Dec-01-2017, 07:40 PM
RE: Variable Scope for Scripts - by RickyWilson - Dec-01-2017, 06:26 PM
RE: Variable Scope for Scripts - by snippsat - Dec-01-2017, 08:54 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to create a variable only for use inside the scope of a while loop? Radical 10 2,125 Nov-07-2023, 09:49 AM
Last Post: buran
  Library scope mike_zah 2 912 Feb-23-2023, 12:20 AM
Last Post: mike_zah
  Scope of variable confusion Mark17 10 3,028 Feb-24-2022, 06:03 PM
Last Post: deanhystad
  Variable scope issue melvin13 2 1,658 Nov-29-2021, 08:26 PM
Last Post: melvin13
  Variable scope - "global x" didn't work... ptrivino 5 3,177 Dec-28-2020, 04:52 PM
Last Post: ptrivino
  Python Closures and Scope muzikman 2 1,926 Dec-14-2020, 11:21 PM
Last Post: muzikman
  Block of code, scope of variables and surprising exception arbiel 8 3,567 Apr-06-2020, 07:57 PM
Last Post: arbiel
  Help with Global/Coerced Variable (Understanding Scope) Rev2k 6 3,651 Jan-09-2020, 03:43 AM
Last Post: Rev2k
  Solving a scope issue profconn1 4 2,719 Nov-01-2019, 07:46 PM
Last Post: profconn1
  Namespace and scope difference Uchikago 9 4,754 Jul-03-2019, 03:36 PM
Last Post: Uchikago

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020