[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 ...
随机推荐
- springmvc SSM shiro redis 后台框架 多数据源 代码生成器
A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址 ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...
- 2016年中国微信小程序专题研究报告
2016年12月29日,全球领先的移动互联网第三方数据挖掘和分析机构iiMedia Research(艾媒咨询)权威首发<2016年中国微信小程序专题研究报告>. 报告显示,82.6%手机 ...
- slf4j
Simple Logging Facade for Java (SLF4J) slf4j可以看成是对各个日志框架的一种抽象,它提供了一套通用的日志使用接口. 下面是slf4j的几个版本比较: 1.6. ...
- KVM安装部署
KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...
- Demo源码放送:打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信.如 ...
- 向Java技术进军
前两天有个朋友要我帮忙写个打印机服务,要求能应用在.net .Dephi.和java程序上面.看了下需求不难也就串口操作,所以就在周未写了个Win32的动态库,对于一个曾经写MFC程序的.net程序员 ...
- 解决CSharpGL使用CGCompiler时发现的几个问题
解决CSharpGL使用CGCompiler时发现的几个问题 为了获取CSharpShadingLanguage的token流,我设计了这样一个文法: <Expression> ::= & ...
- ABP框架 - 动态Web Api层
文档目录 本节内容: 创建动态Web Api控制器 ForAll 方法 重写 ForAll ForMethods Http 动词 WithVerb 方法 HTTP 特性 命名约定 Api 浏览器 Re ...
- Android开发学习之路-LeakCanary使用
LeakCanary是一个内存泄漏检测库,它可以在我们的应用发生内存泄漏的时候发出提醒,提醒包括通知和Log.GitHub 这个库使用起来比较简单: ①添加依赖: dependencies { deb ...
- APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)
APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近涉足APP端测试,常见检查点总结如下: 一.业务方面: 1. 注册( ...