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]$