为了纪录常用问题解决方法,特此记录。每个集合包含10个常用问题解决方法。时有时更。
一. Python 获取当前文件路径方法
-
os.getcwd()
获取文件当前工作目录路径(绝对路径)https://docs.python.org/2/library/os.html#os.getcwd -
sys.path[0]
获取文件当前工作目录路径(绝对路径)
sys.argv[0]|获得模块所在的路径(由系统决定是否是全名)
若显示调用python指令,如python demo.py,会得到绝对路径;
若直接执行脚本,如./demo.py,会得到相对路径。 -
__ file __
获得文件所在的路径(由系统决定是否是全名)
若显示执行Python,会得到绝对路径;
若按相对路径来直接执行脚本./pyws/path_demo.py,会得到相对路径。 -
os.path.abspath(__ file __)
获得文件所在的路径(绝对路径) -
os.path.realpath(__ file __)
获得文件所在的路径(绝对路径)https://docs.python.org/2/library/os.path.html#os.path.realpath -
os.path.split(os.path.realpath(__ file __))
将文件路径名称分成头和尾一对,生成二元元组。(文件目录,文件名)
https://docs.python.org/2/library/os.path.html#os.path.split
二、 sys.argv[]的用法解释
sys.argv[] 就是一个从程序外部获取参数的桥梁 ,同时它可以给程序内的变量赋值!,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。
如著名python实例如下就包含了 sys.arrv[1:] 。
其中n=int(sys.agrv[1])
具体使用可以如下:
进入当前文件的工作目录。然后 python beer.py xxx。
实际结果就是 int(xxx) 赋给程序变量n。很实用的小功能。
"""
A Python version of the classic "bottles of beer on the wall" programming
example.
By Guido van Rossum, demystified after a version by Fredrik Lundh.
"""
import sys
n = 100
if sys.argv[1:]:
n = int(sys.argv[1])
def bottle(n):
if n == 0: return "no more bottles of beer"
if n == 1: return "one bottle of beer"
return str(n) + " bottles of beer"
for i in range(n, 0, -1):
print(bottle(i), "on the wall,")
print(bottle(i) + ".")
print("Take one down, pass it around,")
print(bottle(i-1), "on the wall.")
三、 给python代码多行注释
选中要注释的多行代码。按 “ctrl+/” 既可以多行注释。
再按一次 ,可以取消多行注释。