Apr-09-2020, 05:49 PM
Hello,
Im slowly getting into the game of python and learning its much strict than other languages. Im running into an issue with my script Im working on where when I try to write the file im getting an error 13 ona linux server. The folder in which Im putting the output text into has a permissions of 7777 so anyone can read and write to it. Can anyone help me out as to what I am doing wrong?
[tpolim001@netengsrv01 ~]$ ./pncnetworktest.py
Printing each pncnetwork record
Beltway, 1330, 2020-04-08_1330
Keystone, 1301, 2020-04-08_1301
Freedom, 1246, 2020-04-08_1246
New England, 1051, 2020-04-08_1051
NAME file-2020-04-09.txt
PATH /opt/scripts/outputfile-2020-04-09.txt
ERROR [Errno 13] Permission denied: '/opt/scripts/outputfile-2020-04-09.txt'
[tpolim001@netengsrv01 ~]$
as you can see the folder has read-write global permissions
[tpolim001@netengsrv01 scripts]$ ls -la
total 16
drwxr-xr-x 3 root root 115 Apr 9 11:50 .
drwxr-xr-x. 8 root root 92 Apr 3 14:16 ..
drwsrwsrwt 2 root root 6 Apr 9 11:50 output<<<<<<<<<<<<<<<<<<<<<<
-rwxr-xr-x 1 root root 426 Apr 7 14:56 pncnetworkdata.py
-rwxr-xr-x 1 root root 2118 Apr 7 14:55 pncnetworkold1.py
-rwxr-xr-x 1 root root 2178 Apr 1 14:57 pncnetworkold.py
-rwxr-xr-x 1 root root 957 Apr 7 14:56 pncnetwork.py
[tpolim001@netengsrv01 scripts]$
Im slowly getting into the game of python and learning its much strict than other languages. Im running into an issue with my script Im working on where when I try to write the file im getting an error 13 ona linux server. The folder in which Im putting the output text into has a permissions of 7777 so anyone can read and write to it. Can anyone help me out as to what I am doing wrong?
#! /usr/bin/python3.6
import pymysql
import datetime
from pncnetworkdata import *
from datetime import date
try:
markets = ["Beltway", "Keystone", "Freedom", "New England"]
count = 0
cursorRowCount = 0
recordPrint = ""
for HOST in HOSTS:
db_con = pymysql.connect(host=HOST, port=3306, user=USERNAME, passwd=PASSWORD, db=DATABASE)
sql_select_Query = "SELECT * FROM pncnetwork where id=(SELECT MAX(id) FROM pncnetwork)"
cursor = db_con.cursor()
cursor.execute(sql_select_Query)
records = cursor.fetchall()
for row in records:
# recordPrint = ""
recordPrint += markets[count] + ', ' + str(row[0]) + ', ' + str(row[5]) + "\n"
cursorRowCount += cursor.rowcount
count += 1
db_con.close()
# print ("Total number of rows in pncnetwork is: ", cursorRowCount)
print ("\nPrinting each pncnetwork record\n", recordPrint)
# This section will print the script to file using current date.
def get_filename_datetime():
# Use current date to get a text file name.
return "file-" + str(date.today()) + ".txt"
#Get full path for writing
name = get_filename_datetime()
print("NAME", name)
path = "/opt/scripts/output" + name
print("PATH", path);
with open(path, "w") as f:
# Write Data to file
f.write("\nPrinting each pncnetwork record\n", recordPrint)
except Exception as e:
print("ERROR ", str(e))the script runs and prints to the console window however im getting this error.[tpolim001@netengsrv01 ~]$ ./pncnetworktest.py
Printing each pncnetwork record
Beltway, 1330, 2020-04-08_1330
Keystone, 1301, 2020-04-08_1301
Freedom, 1246, 2020-04-08_1246
New England, 1051, 2020-04-08_1051
NAME file-2020-04-09.txt
PATH /opt/scripts/outputfile-2020-04-09.txt
ERROR [Errno 13] Permission denied: '/opt/scripts/outputfile-2020-04-09.txt'
[tpolim001@netengsrv01 ~]$
as you can see the folder has read-write global permissions
[tpolim001@netengsrv01 scripts]$ ls -la
total 16
drwxr-xr-x 3 root root 115 Apr 9 11:50 .
drwxr-xr-x. 8 root root 92 Apr 3 14:16 ..
drwsrwsrwt 2 root root 6 Apr 9 11:50 output<<<<<<<<<<<<<<<<<<<<<<
-rwxr-xr-x 1 root root 426 Apr 7 14:56 pncnetworkdata.py
-rwxr-xr-x 1 root root 2118 Apr 7 14:55 pncnetworkold1.py
-rwxr-xr-x 1 root root 2178 Apr 1 14:57 pncnetworkold.py
-rwxr-xr-x 1 root root 957 Apr 7 14:56 pncnetwork.py
[tpolim001@netengsrv01 scripts]$
