[python] File path and system path
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")
[python] File path and system path的更多相关文章
- python内置模块[sys,os,os.path,stat]
python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...
- python os.walk()和os.path.walk()
一.os.walk() 函数声明:os.walk(top,topdown=True,onerror=None) (1)参数top表示需要遍历的顶级目录的路径. (2)参数topdown的默认值是“Tr ...
- C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)
文件流 FileStream 可读可写 大文件 释放 StreamReader 读取 释放 StreamWriter 写入 释放 using 中释放 File 可读可写 小文件 操作文 ...
- WebStorm failing to start with 'idea.system.path' error
WebStorm failing to start with 'idea.system.path' error Ask Question up vote 2 down vote favorite ...
- Python join() 方法与os.path.join()的区别
Python join() 方法与os.path.join()的区别 pythonJoinos.path.join 今天工作中用到python的join方法,有点分不太清楚join() 方法与os.p ...
- exec: "docker-proxy": executable file not found in $PATH
在执行 docker run 操作的时候,一直报如下错误: [root@etcd1 vagrant]# docker run --name redis-6379 -p 6379:6379 -d --r ...
- python脚本中selenium启动浏览器报错os.path.basename(self.path), self.start_error_message) selenium.common.excep
在python脚本中,使用selenium启动浏览器报错,原因是未安装浏览器驱动,报错内容如下: # -*- coding:utf-8 -*-from selenium import webdrive ...
- Python os模块、os.path模块常用方法
os模块:os模块在python中包含普遍的操作系统功能,下面列出了一些在os模块中比较有用的部分. os.sep 可以取代操作系统特定的路径分隔符.windows下为 "\" o ...
- VSCode调试go语言出现:exec: "gcc": executable file not found in %PATH%
1.问题描述 由于安装VS15 Preview 5,搞的系统由重新安装一次:在用vscdoe编译go语言时,出现以下问题: # odbcexec: "gcc": executabl ...
随机推荐
- java中易错点(二)
java,exe是java虚拟机 javadoc.exe用来制作java文档 jdb.exe是java的调试器 javaprof,exe是剖析工具 解析一: sleep是线程类(Thread)的方法, ...
- 免费开源的 .NET 分布式组件库 Exceptionless Foundatio
前言 在互联网时代,分布式应用.系统变得越来越多,我们在使用 .Net 技术构建分布式系统的时候,需要使用到一些组件或者是助手库来帮助我们提高生产力以及应用程序解耦,但是纵观.Net圈,能够符合要求的 ...
- .Net中的AOP系列之《单元测试切面》
返回<.Net中的AOP>系列学习总目录 本篇目录 使用NUnit编写测试 编写和运行NUnit测试 切面的测试策略 Castle DynamicProxy测试 测试一个拦截器 注入依赖 ...
- Vue.js——60分钟webpack项目模板快速入门
概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...
- Joshua Bloch错了? ——适当改变你的Builder模式实现
注:这一系列都是小品文.它们偏重的并不是如何实现模式,而是一系列在模式实现,使用等众多方面绝对值得思考的问题.如果您仅仅希望知道一个模式该如何实现,那么整个系列都会让您失望.如果您希望更深入地了解各个 ...
- MyBatis5:MyBatis集成Spring事物管理(上篇)
前言 有些日子没写博客了,主要原因一个是工作,另一个就是健身,因为我们不仅需要努力工作,也需要有健康的身体嘛. 那有看LZ博客的网友朋友们放心,LZ博客还是会继续保持更新,只是最近两三个月LZ写博客相 ...
- Egret3D 研究报告(一)初试
了解的朋友应该知道我最近一直都在鼓吹webgl. 今天有一点时间,加了一个Egret3D的群,就开始了这个坑. 耳听为虚,眼见为实.让我们荡起双桨,一起去刷一下egret 打开姿势 至于以什么姿势打开 ...
- Android中自定义样式与View的构造函数中的第三个参数defStyle的意义
零.序 一.自定义Style 二.在XML中为属性声明属性值 1. 在layout中定义属性 2. 设置Style 3. 通过Theme指定 三.在运行时获取属性值 1. View的第三个构造函数的第 ...
- Entity Framework 6 Recipes 2nd Edition(10-7)译 -> TPH继承模型中使用存储过程
10-7. TPH继承模型中使用存储过程 问题 用一个存储过程来填充TPH继承模型的实体 解决方案 假设已有如Figure 10-7所示模型. 我们有两个派生实体: Instructor(教员)和St ...
- myeclipse学习总结二(myeclipse安装svn插件)
1.在myeclipse中要安装svn插件,首先是下载svn插件. 下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?fold ...