[python] File path and system path

时间:2023-03-08 16:59:27

Python is an interpreted language.

A python script goes through sourcecode  --> interpreter --> output.

Whereas languages, like C/C++, java,  goes through sourcecode --> compiler --> object code --> executor --> output

1. invoking the interpreter in 2 ways:

$ python

the python interpreter will be evoked.

$ python helloworld.py

the python script helloworld.py will be executed.

2. The interpreter and its encoding

Using the following statement. By default, Python source files are treated as encoded in ASCII

# -*- coding: encoding -*-
# -*- coding: cp1252 -*-

3. Keywords in python:

(32 keywords in python 2.7) if, elif, else, for, while, return, in, is, try, except, raise, break, continue,   not, and, or,   def, class,   import, from,   print, yield, pass,  exec, global, lambda, assert, as, del, finally, global, with

# the use of lambda
def make_increment(n):
return lambda x: x+n #lambda function # the use of print
print "Hello, World." # the use of yield
# the use of exec # the use of del
li = [2,4,6,67,"t", 12.4]
del li[0] #delete li[0]
del li #delete li

4. Built-in functions in python 2.7, totally 76 built-in functions

abs()
divmod()
input()
open()
staticmethod()
all()
enumerate()
int()
ord()
str()
any()
eval()
isinstance()
pow()
sum()
basestring()
execfile()
issubclass()
print()
super()
bin()
file()
iter()
property()
tuple()
bool()
#filter(function, iterable):
def func:
return x%3==0 or x%5==0
filter[f, range(2,25)]
#return a list
len( myvar ) return the length of myvar 
range():
bytearray() float() list() raw_input() unichr() callable() format() locals() reduce() unicode() chr() frozenset() long() reload() vars() classmethod() getattr()
# map()
def cube(x):
return x*x*x
map(cube, range(1,11))
# will generate a list of 10 element
repr()
xrange()
cmp()
globals()
max()
reversed()
zip()
compile()
hasattr()
memoryview()
round()
__import__()
complex()
hash()
min()
set()
delattr()
help()
next()
setattr()
dict()
hex()
object()
slice()
dir( myObj ) means show the information of myObj
id( myObj ) means return the address of myObj
oct()
sorted()

True, False (the value of a bool type )

5. Variables and expressions:

comments starts with a  # to the end of a line.

A variable should have a type, and use the built-in function type( myObj )  will tell you the type.

numeric operations are +, -, *, **, /, %

logical operators are and, or, not

    A new assignment makes an existing variable refer to a new value, and stop referring to the old value.

6. flow control and definition of function/class

# if statement

if <condition>:

<statement>

elif <condition>:

<statement>

else:

<statement>

# for statement

for <element> in <statement>:

<statement>

# while statement

while <condition>:

<statement>

# flow control

break    # break out of the innermost enclosing for/while loop

continue # continue with the next iteration of the loop

pass     # do nothing

# define a function

def <name> ( <parameter_list> ):

<statement>

# define a class

class <name>:

pass

# define a class inheriting from a parent class

class <name>(<base_class>):

pass

7. string, a built-in type, " xxx " or ' xxx '

single or double-quoted. The string is immutable.

fruit = "banana"
fruit[1] = "c" #Error
len(fruit) #the length of string
last_ch = fruit[-1] #the last char in the string
letter = fruit[2] #the 2nd char in string
slice_piece = fruit[0:3] #print [0,3) that is "ban"

8. list, [ ]

using [ ], the list is mutable which means we can modify/add/delete elements in the list.

list is a data type(data structure) in python, so it has some methods(operations), like append(), insert(), remove(), ...

# the following three squares are the same

squares = [x**2 for x in range(10)

squares = []

for x in range(10):

    squares.append(x**2)

    squares = map(lambda x:x**2, range(10))

(Actually, the element in the list is the pointer/reference)

li = [0] * 3    # li = [0,0,0]
a = "banana" # reference to a string
b = "banana" # reference to the same string
id(a) #135044008
id(b) #135044008 c = [1,2,3]
d = [1,2,3]
id(c) #reference to a list id = 3500264
id(d) #reference to another list id = 3428408
c = d #c and d refer to the same list id = 3428404. the list whose id=3500264 will be discarded. rst = []
rst.append(3) #rst = [3] #Passing a list as a parameter to a function passes a reference to the list, not a copy of the list
rst = myFunction(a)

9. Tuple, ( )

Tuple is immutable.

t1 = ('a',) #create a tuple with one single element, DO NOT miss that comma

    t2 = ('a') # t2 is a string, not a tuple

  a, b = b, a   #tuple assignment, the number of left variable should be the same as the number of right

10. Dictionary, {key : value , key2 : value2 }

key-value pairs.

The elements of a dictionary appear in a comma-separated list. key value key2 : value2 } Each element consists of a key-value pair.

Using immutable type as an index.

eng2number = {} # an empty dictionary
eng2number['one'] = 1 #
eng2number['two'] = 2 #
print eng2number # {'one':1,'two':2}
print eng2number['one'] # 1
delete eng2number['one'] #delete a element

11. set, { }

A set is an unordered collection with no duplicate elements. Using curly braces to create a set, or using set() to create a set from a list

basket = ['apple', 'orange', 'berry', 'orange', 'apple']    # a list

fruit = set(basket)    # fruit is a set initiated from a list, no duplicate in the fruit

fruit2 = {'apple', 'orange', 'berry', 'apple'}    # fruit2 = {'apple', 'orange', 'berry'}

fruit2.add("apple")    # add one element  

12.Summary:

slice operator [ ] 

operator+

assignment operator=

function parameter passing and return value

in operation

not in operation

14. Modules

from <module> import *

from <module> import <function_or_var_or_name>

import <function_or_var_or_name>

dir( <module> )   # see what's in the module

type( <module> )  # see the type of module

15. Class

 

  

    

1. get files in the current directory with the assum that the directory is like this:

a .py

|----dataFolder

|----Myfolder

|----1.csv , 2.csv, 3.csv

 # a.py
1 def getFileList():
file_list = []
cur_dir = os.getcwd()
for folder in os.walk(cur_dir).next()[1]:
f = os.path.join(cur_dir, folder)
for filename in os.walk(f).next()[1]:
file_path = os.path.join(f, filename)
file_list.append(file_path)
print "the total files are:\n", file_list
return file_list

in line 4, get all the folders in the cur_dir.

If want to get all files, in the cur_dir, than use:

for myfiles in os.walk(cur_dir).next()[2]:

2. get all files (only files not including folders) in one directory

os.listdir("some_dir")