Having issue with the code, I’m getting error with this code, was trying to make script to take a backup of a file scheduled
JavaScript
x
29
29
1
from datetime import date
2
import os
3
import shutil
4
import schedule
5
6
today = date.today()
7
date_format = today.strftime("%d_%b_%Y_")
8
9
src_file_name = "file.txt"
10
src_folder = "C:\Users\Xealtron\Desktop\Backup\BackupFolder"
11
dest_file_name = "file.txt"
12
dest_folder = "C:\Users\Xealtron\Desktop\bup"
13
14
15
def take_backup():
16
try:
17
18
if dest_file_name != "":
19
dest_file_name = src_file_name
20
shutil.copy2(os.path.join(src_folder, src_file_name),
21
os.path.join(dest_folder, date_format + dest_file_name))
22
23
except FileNotFoundError:
24
print("File does not exists,
25
please give the complete path")
26
27
28
schedule.every(10).second.do(take_backup())
29
Advertisement
Answer
dest_file_name
is a global variable, as it is defined at the top-level of a script. When you assign a new value to a global variable within a function, you have to declare that variable to be global:
JavaScript
1
7
1
def take_backup():
2
global dest_file_name # Declare the variable to be global
3
if dest_file_name != "":
4
dest_file_name = src_file_name
5
shutil.copy2(os.path.join(src_folder, src_file_name),
6
os.path.join(dest_folder, date_format + dest_file_name))
7