pwd

面向过程编程

こ雲淡風輕ζ 提交于 2019-11-30 05:52:47
面向过程编程是解决问题的一种思想,相当于武林门派,武林门派之间没有好坏之分,因此它与我们之后学习的面向对象编程其实没有好坏之分。 面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么、后干什么、再干什么、然后干什么…… 基于该思想编写程序就好比在设计一条流水线,面向对称编程其实是一种机械式的思维方式。 当我们写登录功能,我们首先需要输入账号、密码,然后认证两次密码是否相同,然后从数据库中读取密码验证用户密码输入是否正确,然后输入验证码……之后,我们就能够实现登录功能。这样把登录功能问题流程化,进而是解决问题的思路非常清晰。 优点:复杂的问题流程化,进而简单化。 生产汽水瓶的流水线,没办法生产特斯拉。流水线下一个阶段的输入与上一个阶段的输出是有关联的。因此他的扩展性极差。 缺点:扩展性差。 一、注册功能 1.1 接受用户输入用户名,进行合法性校验,拿到合法的用户名 def check_username(): username = input('username>>>').strip() if username.isalpha(): return username else: print('用户名必须为字母,傻叉') 1.2 接受用户输入密码,进行合法性校验,拿到合法的密码 def check_pwd(): while True: pwd = input(

Extract the last directory of a pwd output

梦想与她 提交于 2019-11-30 04:16:17
How do I extract the last directory of a pwd output? I don't want to use any knowledge of how many levels there are in the directory structure. If I wanted to use that, I could do something like: > pwd /home/kiki/dev/my_project > pwd | cut -d'/' -f5 my_project But I want to use a command that works regardless of where I am in the directory structure. I assume there is a simple command to do this using awk or sed. Are you looking for basename or dirname ? Something like basename "`pwd`" should be what you want to know. If you insist on using sed , you could also use pwd | sed 's#.*/##' If you

scrapy中把数据写入mongodb

给你一囗甜甜゛ 提交于 2019-11-29 22:51:15
1.setting.py中打开管道 ITEM_PIPELINES = { # 'tianmao.pipelines.TianmaoPipeline': 300, } 2.setting.py中写入mongodb配置 # mongodb HOST = "127.0.0.1" # 服务器地址 PORT = 27017 # mongo默认端口号 USER = "用户名" PWD = "密码" DB = "数据库名" TABLE = "表名" 3.pipeline.py文件中倒入pymongo,数据写入数据库 from pymongo import MongoClient class TianmaoPipeline(object): def __init__(self, host, port, user, pwd, db, table): self.host = host self.port = port self.user = user self.pwd = pwd self.db = db self.table = table @classmethod def from_crawler(cls, crawler): HOST = crawler.settings.get('HOST') PORT = crawler.settings.get('PORT') USER = crawler

Python与用户交互

走远了吗. 提交于 2019-11-29 19:29:00
Python与用户交互 一、为什么交互 让我们来回顾计算机的发明有何意义,计算机的发明是为了奴役计算机,解放劳动力。假设我们现在写了一个ATM系统取代了柜员,如果我们要在这台ATM上取款,那么这个ATM是不是会要求我们输入姓名、密码?是不是需要我们输入我们需要取款金额?这是不是就可以理解为一种交互。现在让我们了解下Python是怎么实现交互的。 二、如何交互 print('-'*100) input("请输入你的姓名:") print('*'*100) ---------------------------------------------------------------------------------------------------- 请输入你的姓名:nick **************************************************************************************************** 现在让我们手写一个ATM的登陆系统??? name = input('请输入你的姓名:') pwd = input('请输入你的密码:') print(type(name)) print(type(pwd)) 请输入你的姓名:nick 请输入你的密码:123 <class 'str'> <class 'str'

springMvc 入门二

試著忘記壹切 提交于 2019-11-29 18:32:22
目的:请求参数接受,输出,常见的注解 1:请求参数的绑定 1.1绑定的机制 表单中请求参数都是基于key=value的。 SpringMVC绑定请求参数的过程是通过把表单提交请求参数,作为控制器中方法参数进行绑定的。 1.2基本类型参数 请求参数:?userName=lsw&psw=123 <%--请求参数绑定--%> <a href="Param/testParam?userName=lsw&psw=123">请求参数绑定</a> 控制器: /** * url 地址 Param/testParam?userName=lsw&psw=123 * @param userName * @param pwd * @return */ @RequestMapping(value = "testParam",method = {RequestMethod.GET}) public String testParam(String userName,String pwd){ System.out.println( "testParam" ); System.out.println( "用户名:"+userName ); return "sucess"; } 插曲:注解的一个参数不知道怎么写,选中ctrl+b 进去看源代码,比如RequestMapping 1.3 POJO类型参数: 包括实体类

服务端跳转和客户端跳转

只愿长相守 提交于 2019-11-29 16:18:38
先描述一个场景: 你到一个机关办事,一个是办事窗口的那个人很不客气地说,这个事你别找我,你找xxx窗口,然后你自己跑到xxx窗口,那个窗口的人直接给你办了;还有一个是窗口的人和你说,你等下,他自己跑去找另一个人沟通一番,然后跑回来给你办了。 前者是redirect重定向,后者便是forward转发。 重定向redirect和转发forward的流程图如下: (1)客户端跳转--重定向redirect 客户端向服务器发送请求时,服务器返回一个“去访问其他链接”的响应,客户端根据此响应,第二次去访问服务器,服务器给出最终的响应,所以总共有两次请求。客户端跳转时,地址栏会发生改变。 使用response的rsendRedirect方法:   重定向格式:response.sendRedirect( "path"); (2)服务端跳转--转发forward 客户端向服务器发送请求时,服务器发现当前资源给不出回应,服务器需要在内部请求另一个资源的跳转,然后给出响应,这属于1次请求,由于服务器跳转与否客户端并不知道,所以地址栏的url并不会改变。 使用requestDispatcher对象:   转发格式:request.getRequestDispatcher( "path").forward(response,request) 使用jsp动作元素:   <jsp:forward page=

Using Bash environment variables from within a Perl script?

陌路散爱 提交于 2019-11-29 12:39:16
I am trying to run a Bash command from within my Perl program. However Perl seems to be confusing my Bash $PWD environment variable as a Perl variable. How can I make it just read it all as a string? This is what I'm trying to run my $path = /first/path; `ln -s $path $PWD/second/path` Those backticks runs the second line in Bash. Using System() produces the same problem. Any ideas? There are two queries here, on use of Bash variables and on running external commands. There is the %ENV hash in Perl, with environment variables perl -wE'say $ENV{PWD}' However, you are often better off getting the

When to use Absolute Path vs Relative Path in Python

吃可爱长大的小学妹 提交于 2019-11-29 10:50:54
For reference. The absolute path is the full path to some place on your computer. The relative path is the path to some file with respect to your current working directory (PWD). For example: Absolute path: C:/users/admin/docs/stuff.txt If my PWD is C:/users/admin/ , then the relative path to stuff.txt would be: docs/stuff.txt Note, PWD + relative path = absolute path. Cool, awesome. Now, I wrote some scripts which check if a file exists. os.chdir("C:/users/admin/docs") os.path.exists("stuff.txt") This returns TRUE if stuff.txt exists and it works . Now, instead if I write, os.path.exists("C:

QtCreater添加外部库编译error: C1083: 无法打开包括文件: “openssl/pkcs12.h”: No such file or directory原因分析

烈酒焚心 提交于 2019-11-29 10:18:36
QtCreater编译找不到文件的原因解析 QtCreater中,要添加某一个库或库文件,当一切条件都成立的条件下且文件都存在,添加路径正确: 添加了头文件:#include “openssl/asn1.h” 修改了.pro文件, 给INCLUDEPATH += F:/openssl/include. 然后去编译,发现仍然见鬼的编译不通过: error: C1083: 无法打开包括文件: “openssl/pkcs12.h”: No such file or directory. 然后任凭怎么修改都不行的。折腾了半天后终于明白了: 你必须运行qmake(build-> run qmake)来验证pro文件中的更改。 为什么?qmake做什么? qmake将.pro文件编译成一个Makefile,它告诉你的编译器套件(例如gcc,clang或msvc)如何编译这个项目。 就是因为这个原因,所以每次凡是有.pro文件的修改,那么必须运行qmake重新生成makefile文件才能让编译器重新编译,否则,你改变了.pro文件,然后去编译, 发现编译仍然通过了,这就有点见鬼了,去编译输出看一下,提示: 16:14:16: 进程”C:\Qt\Qt5.6.0\Tools\QtCreator\bin\jom.exe”正常退出。 16:14:16: 配置没有改变, 跳过 qmake 步骤。 16

Python:如何获取一个用户名的组ID

依然范特西╮ 提交于 2019-11-29 04:09:32
getpwname 只能得到 gid 一个 username 。 import pwd myGroupId = pwd.getpwnam(username).pw_gid getgroups 只能获取 groups 脚本用户。 import os myGroupIds = os.getgroups() 我怎么能得到所有 groups 的任意一个 username ,比如 id -Gn 命令? id -Gn `whoami` 解决方案 #!/usr/bin/env python import grp, pwd user = "myname" groups = [g.gr_name for g in grp.getgrall() if user in g.gr_mem] gid = pwd.getpwnam(user).pw_gid groups.append(grp.getgrgid(gid).gr_name) print groups 本文首发于 Python黑洞网 ,博客园同步更新 来源: https://www.cnblogs.com/pythonzhichan/p/11450807.html