CIT 383: Administrative Scripting

Slides:



Advertisements
Similar presentations
A C++ Crash Course Part II UW Association for Computing Machinery Questions & Feedback.
Advertisements

Ruby (on Rails) CSE 190M, Spring 2009 Week 2. Arrays Similar to PHP, Ruby arrays… – Are indexed by zero-based integer values – Store an assortment of.
LECTURE 17 C++ Strings 18. 2Strings Creating String Objects 18 C-string C++ - string \0 Array of chars that is null terminated (‘\0’). Object.
File AccessCS-2301, B-Term File Access CS-2301, System Programming for Non-Majors (Slides include materials from The C Programming Language, 2 nd.
Strings and Dynamic Memory Allocation CS-2301, B-Term Programming Assignment #6 Strings and Dynamic Memory Allocation CS-2301, System Programming.
Scripting Languages Chapter 6 I/O Basics. Input from STDIN We’ve been doing so with $line = chomp($line); Same as chomp($line= ); line input op gives.
Learning Ruby - 5 Files. while line = gets puts line end while line = gets puts line.downcase end while line = gets puts line.downcase if line =~ /UP/
17-Jun-15 Assorted Ruby Details. The command line irb starts an interactive Ruby interpreter ruby starts Ruby, with input from the command line End with.
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 6P. 1Winter Quarter I/O in C Lecture 6.
Files in Python The Basics. Why use Files? Very small amounts of data – just hardcode them into the program A few pieces of data – ask the user to input.
Scripting with Ruby What is a scripting language? What is Ruby?
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting RSS.
Ruby (on Rails) CSE 190M, Spring 2009 Week 2. Arrays Similar to PHP, Ruby arrays… – Are indexed by zero-based integer values – Store an assortment of.
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting XML.
CIT 383: Administrative Scripting
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Writing Methods.
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Methods and Hashes.
I/O and Redirection. Standard I/O u Standard Output (stdout) –default place to which programs write u Standard Input (stdin) –default place from which.
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Introduction.
1 P51UST: Unix and Software Tools Unix and Software Tools (P51UST) Awk Programming (2) Ruibin Bai (Room AB326) Division of Computer Science The University.
CIT 590 Intro to Programming Files etc. Announcements From HW5 onwards (HW5, HW6,…) You can work alone. You can pick your own partner. You can also stick.
Scripting with Ruby What is a scripting language? What is Ruby?
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Regular Expressions.
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting HTTP.
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Numbers.
Scripting with Ruby What is a scripting language? What is Ruby?
Files in Python Output techniques. Outputting to a file There are two ways to do this in Python – print (more familiar, more flexible) – write (more restrictive)
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Directories.
FILES. open() The open() function takes a filename and path as input and returns a file object. file object = open(file_name [, access_mode][, buffering])
CIT 383: Administrative Scripting
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting DateTime.
Introduction to information systems RUBY dr inż. Tomasz Pieciukiewicz.
CIT 590 Intro to Programming Files etc. Agenda Files Try catch except A module to read html off a remote website (only works sometimes)
C is a high level language (HLL)
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Commands.
Python focus – files The open keyword returns a file object Opening a file myFile = open('C:\file.txt', arg) Optional argument The second argument controls.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
FILE I/O: Low-level 1. The Big Picture 2 Low-Level, cont. Some files are mixed format that are not readable by high- level functions such as xlsread()
File I/O. I/O Flags Flags are passed to give some information about how the file is to be used. – Read only file – flag=0x0 – Write only file – flag=0x1.
CSE 374 Programming Concepts & Tools
Chapter 22 – part a Stream refer to any source of input or any destination for output. Many small programs, obtain all their input from one stream usually.
CIT 383: Administrative Scripting
CIT 383: Administrative Scripting
Python’s input and output
Plan for the Day: I/O (beyond scanf and printf)
CS111 Computer Programming
CIT 383: Administrative Scripting
Files and Streams Lect3 CT1411.
Programming in C Input / Output.
CIT 383: Administrative Scripting
CIT 383: Administrative Scripting
Python I/O.
I/O in C Lecture 6 Winter Quarter Engineering H192 Winter 2005
File Handling Programming Guides.
Topics Introduction to File Input and Output
Using files Taken from notes by Dr. Neil Moore
CIT 383: Administrative Scripting
CISC101 Reminders Quiz 2 graded. Assn 2 sample solution is posted.
Perl I/O Learning Objectives:
CIT 383: Administrative Scripting
CIT 383: Administrative Scripting
CIT 383: Administrative Scripting
CIT 383: Administrative Scripting
Topics Introduction to File Input and Output
CIT 383: Administrative Scripting
CIT 383: Administrative Scripting
Copyright (c) 2017 by Dr. E. Horvath
Topics Introduction to File Input and Output
CS1100 Computational Engineering
Review The Unix Shells Graham Glass and King Ables,
Presentation transcript:

CIT 383: Administrative Scripting Files CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Topics Creating File Objects Reading Files Writing Files CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Files File class constructor arguments Pathname Access type a: append a+: read-write (starts at end of file if file exists) r: read r+: read-write w: write (truncate file to zero length) w+: read-write (truncate file to zero length) Examples pwfile = File.new(‘/etc/passwd’, ‘r’) usrfile = File.new(‘userlist’, ‘w’) logfile = File.new(‘/var/log/mylog’, ‘a’) CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Reading Files getc: reads a single character at current pos gets: reads a single line at current pos seek: changes position in file tell: returns position in file read: reads entire file as a string readlines: reads file as an array of lines CIT 383: Administrative Scripting

Reading a file line by line File class each_line iterator fh.each_line do |line| # do stuff with line here end While loop while line = fh.gets CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Writing Files putc: writes a single character at current pos print: writes a single line at current pos puts: writes line at current pos with newline seek: changes position in file tell: returns position in file write: writes to file, returns bytes written CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Line Endings Getting rid of line end characters line_without_ending = line.chomp OR line.chomp! Outputting line ending characters puts inserts a line ending print does not add a line ending CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Global File Objects $stdin Default object for getc and gets $stdout Default object for puts $stderr CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Closing Files After reading/writing to a file, close it. file.close What if an error kills program before close? Use open instead of new to auto close File.open(pathname,’r’) do |fh| fh.gets end CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Data Munging Data munging: to convert data from one format to another format, possibly sorting, summarizing, or otherwise modifying it in the process. CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Skipping lines Skipping blank lines file.each_line do |line| next if line == "\n" puts line end Skipping lines beginning with a character next if line[0] == ?# CIT 383: Administrative Scripting

CIT 383: Administrative Scripting Delimited Data pwfields = [:username, :password, :uid, :gid, :gcos, :homedir, :shell] pwline = ‘root:x:0:0:root:/root:/bin/sh’ pwitems = pwline.split(‘:’) pwhash = Hash.new i = 0 while i < pwitems.size pwhash[pwfields[i]] = pwitems[i] i = i + 1 end CIT 383: Administrative Scripting

CIT 383: Administrative Scripting References Michael Fitzgerald, Learning Ruby, O’Reilly, 2008. David Flanagan and Yukihiro Matsumoto, The Ruby Programming Language, O’Reilly, 2008. Hal Fulton, The Ruby Way, 2nd edition, Addison- Wesley, 2007. Robert C. Martin, Clean Code, Prentice Hall, 2008. Dave Thomas with Chad Fowler and Andy Hunt, Programming Ruby, 2nd edition, Pragmatic Programmers, 2005. CIT 383: Administrative Scripting