Friday, August 24, 2012

opening a file in python

I will use the sys (System-specific parameters and functions) module which is always available since its used or maintained by the interpreter.

To open a file use of sys.argv

sys.argv

the argv list contains the arguments passed to the script, when the interpreter was started. The first item contains the name of the script itself. (If the name of the script was used to start the program)  

I use terminal to start my programs and text-wrangler to write my programs.  Therefore to start the program open terminal and navigate to the folder where your program is saved.  

Next type $ python the_name_of_your_program the full address of your program

Example 

$ python test.py /Desktop/test.txt

Example script for opening and reading a file in python. 


from sys import argv

scriptName, fileName = argv

file = open(fileName)

# open(filename, mode) 'r' file will only be read,
# default is 'r' if the mode arguemnt is omitted
# 'w' for only writing.  Therefore an existing file with the same name will be
# erased.
# 'a' opens the file for appending, any data written to the file is automatically
# added to the end.
#'r+' opens the file for both rerading and writing.

print file.read()

# file.read(size) this read a quantity of data and
# and returns it as a string.  size is an optional numeric argument.
# However when the size is omitted or negative the entire contents of the file
# will open.  This could be very problematic if the file is twice as large as your
# machine's memory.

Thursday, August 23, 2012

Dialog boxes in applescript

Dialog boxes are very easy to make in applescript.  Script editor comes with a list of commands.  hold down control and click on your mouse this menu appears.  Go to Dialogs and dialog -2 buttons 2 actions.


This will appear in your script editor. 
display dialog "" buttons {"", ""} default button 2
if the button returned of the result is "" then

else

end if
----------------------------
Here is some sample code:
------------------------------
display dialog "Is it the weekend?" buttons {"Yes", "No"} default button 2
if the button returned of the result is "Yes" then
say "awesome"
else
say "BOO"
end if

This is my dialog box:


You can see from this the string between the first "" is the question and I have two buttons for each "" and the button highlight is the second one.

And each button just says either awesome or Boo.



A large list of Unix commands

!$ prints the everything before the last space on the previous line
pressing up arrow on key board - up one line
& - add to end of any command to make that command run in the background so you can get the prompt back
\ - used as a continuation character
alias - Create an alias
alloc - List used and free memory 
awk - Find and Replace text within file(s)  
bash - Bourne-Again SHell (Linux)
basename - Convert a full pathname to just a folder path
bless - Set volume bootability and startup disk options.
break - Exit from a loop
cal - Display a calendar










case - Conditionally perform a command
cat - Display the contents of a file
cd - Change Directory to
argument passed.  If now argument is passed it will take you back to home directory.

cd.. - back up one directory
chflags - Change a file or folder's flags.
chgrp - Change group ownership

chmod - Change access permissions
chown - Change file owner and group
chroot - Run a command with a different root directory
cksum - Print CRC checksum and byte counts
clear - Clear terminal screen
cmp - Compare two files

command c = stop something running in terminal
comm - Compare two sorted files line by line
complete - Edit a command completion [word/pattern/list]
continue - Resume the next iteration of a loop
cp - Copy one or more files to another location
cron - Daemon to execute scheduled commands
crontab - Schedule a command to run at a later date/time
cut - Divide a file into several parts

date - Display or change the date & time





dc - Desk Calculator
dd - Data Dump - Convert and copy a file
df - Display free disk space
diff - Display the differences between two files
diff3 - Show differences among three files
dirname Convert a full pathname to just a path
dirs Di - play list of remembered directories
diskutil - Disk utilities - Format, Verify, Repair
ditto - Copy files and folders
dscl - Directory Service command line utility
du - Estimate file space usage

echo - Display message on screen
ed - A line-oriented text editor (edlin)
enable - Stop or start printers and classes.
env - Set environment and run a utility
eval - Evaluate several commands/arguments
exec - Execute a command
exit - Exit the shell
expect - Programmed dialogue with interactive programs
expand - Convert tabs to spaces
export - sets environment variables 




 

expr - Evaluate expressions
false - Do nothing, unsuccessfully
fdisk - Partition table manipulator for Darwin UFS/HFS/DOS
find - Search for files that meet a desired criteria
fmt - Reformat paragraph text
fold - Wrap text to fit a specified width
for - Expand words, and execute commands
foreach - Loop, expand words, and execute commands
fsck - Filesystem consistency check and repair
fs - usage Filesystem usage (process/pathname)
ftp - Internet file transfer program

GetFileInfo - Get attributes of HFS+ files
getopt - Parse positional parameters
goto - Jump to label and continue execution
grep - Search file(s) for lines that match a given pattern
groups - Print group names a user is in
gzip - Compress or decompress files

head - Display the first lines of a file

    example (displays the first 20 lines of output.json file and writes them to turn_in.json:







hdiutil - Manipulate iso disk images history - Command History
hostname - Print or set system name

id - Print user and group names/id's
if - Conditionally perform a command
info - Help info
install - Copy files and set attributes

jobs - List active jobs
join - Join lines on a common field

kill - Stop a process from running
less - Display output one screen at a time (very useful for very big files)
ln - Make links between files (hard links, symbolic links)
locate - Find files
logname - Print current login name
login - log into the computer
logout - Exit a login shell (bye)
lpr - Print files
lprm - Remove jobs from the print queue
lpstat - Printer status information
ls - List information about file(s)

ls -a - shows hidden directories also (files that start with .)
lsbom - List a bill of materials file
lsof - List open files

man - Help manual
mkdir - Create new folder(s)
mkfifo - Make FIFOs (named pipes)
more - Display output one screen at a time
mount - Mount a file system
mv - Move or rename files or directories

net - Manage network resources
nice - Set the priority of a command
nohup - Run a command immune to hangups

onintr - Control the action of a shell interrupt
open - Open a file/folder/URL/Application
osascript - Execute AppleScript
paste - Merge lines of files
pbcopy - Copy data to the clipboard
pbpaste - Paste data from the Clipboard
pico - Simple text editor
ping - Test a network connection
pmset - Power Management settings
popd - Restore the previous value of the current directory
pr - Convert text files for printing
printenv - Print environment variables (if no variable is present this command will print all environment variable set)










printf - Format and print data
ps - Process status

PS1=" " - customize terminal prompt

    Between quotation marks add the following lines to customize your terminal prompt
    \d -current date
    \t - current time
    \h - host name
    \# - command number
    \u -user name
    \W -Current working directory (example: desktop)
    \w - Current working directory, full path (example /Users/Admin/Desktop)

    example: 

















pushd - Save and then change the current directory
pwd - Print Working Directory
pydoc - use to access python's tool for viewing and generating python documentation. 
q - quit exit program
repeat - Execute a command multiple times
rm - Remove files
rmdir - Remove folder(s)
rpm - Remote Package Manager
rsync - Remote file copy - Sync file tree (also RsyncX)

say - Convert text to audible speech
sched - Schedule a command to run at a later time.
screencapture - Capture screen image to file or disk sdiff - Merge two files interactively
security - Administer Keychains, keys, certificates and the Security framework
sed - Stream Editor
set - Set a shell variable = value
setenv - Set an environment variable = value
setfile - Set attributes of HFS+ files
shift - Shift positional parameters
shutdown - Shutdown or restart OS X
sleep - Delay for a specified time
softwareupdate - System software update tool
sort - Sort text files
split - Split a file into fixed-size pieces
stop - Stop a job or process
su - Substitute user identity
sudo - Execute a command as another user
sum - Print a checksum for a file
switch - Conditionally perform a command
tar - Tape ARchiver
tee - Redirect output to multiple files
test - Condition evaluation
time - Measure Program Resource Use
touch - Change file timestamps
traceroute - Trace Route to Host
tr - Translate, squeeze, and/or delete characters
true - Do nothing, successfully
tty - Print filename of terminal on stdin
type - Describe a command
umount - a device
unalias - Remove an alias
uname - Print system information
unexpand - Convert spaces to tabs
uniq - Uniquify files
units - Convert units from one scale to another
unset - Remove variable or function names
unsetenv - Remove environment variable
users - Print login names of users currently logged in
uuencode - Encode a binary file
uudecode - Decode a file created by uuencode
where - Report all known instances of a command
which - Locate a program file in the user's path
while - Execute commands
who - Print all usernames currently logged on
whoami - Print the current user id and name (`id -un')


passwd - Modify a user password
quota - Display disk usage and limits
rcp - Copy files between machines.
tail - Output the last part of files
umask - Users file creation mask
vi - Text Editor
wc - Print byte, word, and line counts
xargs - Execute utility - passing arguments
yes - Print a string until interrupted