《富有的习惯》笔记

230620
我想和一个优秀的人一起变得更优秀

我怎么做

我有什么大目标?
晚上的时间去养成好习惯,时间别浪费了
正面激励,假想成已经是现实
每天早上看行业资讯
找到触发坏习惯的情绪或者事件并且杜绝他们

发展多渠道收入
勇敢一点,并且愿意承担一定的风险,无论是感情上还是财务上
五点起床,如果做不到就加入早起的圈子,定一个必须要做的事情。
识别出坏习惯用好习惯取代它并记录下来
优化早起习惯
优化日间习惯
优化晚间习惯

在我的调查中,44%的成功人士每天比上班点提前至少3小
时起床。他们利用早晨的这段时间读书学习、锻炼身体、钻研自己的目
标、爱好或副业、计划一天的日程安排、写作、学习夜校课程等。充分
利用每天清晨的这段时间,就像给自己增加了一份投资,所以请花些时
间为自己拟定一份早间富有的习惯跟进表

centos8安装python3.10

说明:我买的是腾讯云的轻量服务器,选的centos8,但没有预装的python,所以才下载python3,如果有python2的,注意原始/usr/bin/下的调用

1、安装python3.10所需的依赖

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make

python判断新定义的文件名是否合法

’/‘有中英文的区别吗

是的,中英文的 ‘/‘ 是不同的字符,它们的 Unicode 编码也不同。

英文的 ‘/‘ 字符的 Unicode 编码是 0x002F,用于表示路径分隔符或 URL 中的路径分隔符。

而中文的 ‘/‘ 字符是全角字符,通常在输入法中通过 Shift + 7 或 Shift + 斜杠等方式输入,它的 Unicode 编码是 0xFF0F。

由于中英文的 ‘/‘ 字符是不同的字符,因此在处理文件名时,需要分别处理这两种情况。如果你使用的是 Python 的字符串处理函数,例如 replace() 函数,需要注意它只能替换字符串中的某个子串,如果要替换中文的 ‘/‘,需要使用对应的 Unicode 编码进行替换。

例如,如果你要将中文的 ‘/‘ 替换为英文的 ‘-‘,可以使用以下代码:

filename = filename.replace('\uFF0F', '/')
filename = filename.replace('/', '-')

第一行代码将字符串中的中文 ‘/‘ 替换为英文 ‘/‘,第二行代码将英文的 ‘/‘ 替换为 ‘-‘。注意,中文的 ‘/‘ 在字符串中需要使用 Unicode 编码来表示,Unicode 编码可以使用 \uXXXX 的形式来表示,其中 XXXX 是该字符的 Unicode 编码值的十六进制表示。

python判断新定义的文件名是否合法

要判断新定义的文件名是否合法,你需要知道哪些字符是不允许出现在文件名中的。在Windows操作系统中,以下字符是不允许出现在文件名中的:

“`
\ / : * ? “ < ><!–autointro–>

wagtail安装putput

~ # cd /app/wagtailenv/
/app/wagtailenv # pip install putput
Collecting putput
wagtail start mysiteputput
cd mysiteputput
python manage.py migrate
python manage.py createsuperuser

django没有停止命令,所以用ps找出后台进程

/app/wagtailenv/mysiteputput # ps
PID   USER     TIME  COMMAND
1 root      0:00 python manage.py runserver 0.0.0.0:8000
129 root      0:00 sh
279 root     17h17 /usr/local/bin/python manage.py runserver 0.0.0.0:8000
352 root      0:00 sh
391 root      0:00 ps
/app/wagtailenv/mysiteputput # kill 1
/app/wagtailenv/mysiteputput # ps
PID   USER     TIME  COMMAND
1 root      0:00 python manage.py runserver 0.0.0.0:8000
129 root      0:00 sh
352 root      0:00 sh
392 root      0:00 ps

kill相应的进程就停止服务了。

在yml文件中加入

    stdin_open: true
    tty: true
    entrypoint: ["sh"] # 执行 sh

之后就不会因为没有任务而退出容器了 。

Linux下virtualenv虚拟环境工具的使用

/app/wagtailenv # source ./bin/activate
(wagtailenv) /app/wagtailenv # which pip
/app/wagtailenv/bin/pip
(wagtailenv) /app/wagtailenv #
deactivate #退出虚拟环境

Windows文件管理器替代品total commander

multi commander 和xyplorer。而且前者开源免费,你也可以试试。

Directory Opus 相当好用。反正界面操作比 Xyplorer 好用。

这类工具,windows中 Total Comamnder 显然是王者,老大的地位无人能及。如果非要免费的, 那么 Double Commander 是首选,在功能上是最接近 Total Commander 的了,而且跨平台, mac/Linux都支持(因此也成了我的默认文件管理工具了,TC只是在windows中备用而已)。

作为一个反复学习TC而不入门的用户来说,表示没资格评价这个软件。最早的时候在DOS下用过NC,WIN下也用过QDIR,Freecommander等,后来转向了Multicommander(免费)

https://zhuanlan.zhihu.com/p/363160603

Total Commander 这款软件使用体验如何,有哪些优点和不足?

https://www.zhihu.com/question/21616258

https://www.jb51.net/softjc/769961.html

bat脚本写法

**隐藏运行软件,cmd隐藏运行,bat隐藏运行,命令窗口隐藏运行

让bat隐藏运行需要用vbs文件才能实现,
方法一:新建一个文本文档,写入
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "d:yy.bat",0
另存为vbs文件即可,其中d:yy.bat是你需要运行的bat文件的路径。

方法二:用文本文档打开bat文件,在开头处写入
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
这个方法运行bat,还是闪了一下。

1.在windows命令行后台运行某个命令:

在执行的命令前加上start /b,比如start /b run.bat。就相当于Linux下的run.sh &

2.开机启动bat
  新建test.bat, 文件内容如下:

  set ws=WScript.CreateObject("WScript.Shell") 
  ws.Run "D: est.bat /start",0

  保存,然后放到Windows启动目录下,就可以了。**

cython编译Python为c语言

第一种办法:

  • 执行命令:cython test.py
  • 结果:会在同一目录下面生成test.c文件
  • 执行命令: gcc -c -fPIC -I /usr/include/python2.7 test.c
  • 结果: 在同一目录下面生成test.o文件
  • 执行命令: gcc -shared test.o -c test.so
  • 结果: 在同一目录下面生成test.so文件

最后,生成的test.so文件就是需要的文件

第二种办法:

[setup.py]
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = "test",
ext_modules = cythonize("test.py")
)
  • 执行命令: python setup.py build_ext –inplace

第二种办法是对单独文件进行编译,下面介绍一种批量的办法:

#-*- coding:utf-8 -*-_
import os
import re
from distutils.core import Extension, setup
from Cython.Build import cythonize
from Cython.Compiler import Options
# __file__ 含有魔术变量的应当排除,Cython虽有个编译参数,但只能设置静态。
exclude_so = ['__init__.py', 'run.py']
sources = 'backend'
extensions = []
remove_files = []
for source,dirnames,files in os.walk(sources):
for dirpath, foldernames, filenames in os.walk(source):
if 'test' in dirpath:
break;
for filename in filter(lambda x: re.match(r'.*[.]py$', x), filenames):
file_path = os.path.join(dirpath, filename)
if filename not in exclude_so:
extensions.append(
Extension(file_path[:-3].replace('/', '.'), [file_path], extra_compile_args = ["-Os", "-g0"],
extra_link_args = ["-Wl,--strip-all"]))
remove_files.append(file_path[:-3]+'.py')
remove_files.append(file_path[:-3]+'.pyc')
Options.docstrings = False
compiler_directives = {'optimize.unpack_method_calls': False, 'always_allow_keywords': True}
setup(
# cythonize的exclude全路径匹配,不灵活,不如在上一步排除。
ext_modules = cythonize(extensions, exclude = None, nthreads = 20, quiet = True, build_dir = './build',
language_level = 2, compiler_directives = compiler_directives))
# 删除py和pyc文件
for remove_file in remove_files:
if os.path.exists(remove_file):
os.remove(remove_file)
  • 执行命令: python setup.py build_ext –inplace
  • 结果:最后生成.so文件,删除中间结果。

重点提一下,在编译flask代码时,遇到问题,报错:参数不够(大体意思是这样,错误未截图),在compiler_directives中添加: {always_allow_keywords:True}

正如我先前所说,你需要像这样运行Cython编译器。


cython <cython_file><!--autointro-->

查找文件位置Linux和Windows

windows下的cmd用
where pip
可以查找到位置
但再vscode的anaconda的虚拟环境中找不到

linux查找文件的命令:1、find命令,可以查找任何想要的文件;2、locate命令,查不到最新变动过的文件;3、whereis命令,只搜索二进制文件、man说明文件和源代码文件;4、which命令;5、type命令。

1. find

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

find的使用格式如下:

`$ find <指定目录