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 <指定目录

《但愿婚前我知道》笔记

一 彼此恋慕并不足以成为幸福婚姻的基础

这个比较认同,个人品格更加重要,因为品格更具有稳定性。但同时我也觉得相互喜欢非常重要,这种感情越深,能抵御的困难越多。

二 浪漫要分两步走

开始的阶段属于相互吸引,不容易看到缺点,各种付出也感觉自然而然的发生。后面就需要双方去努力用对方喜欢的方式去爱去付出。这里引出了爱的五种语言。

三 有其母必有其女,有其父必有其子

这个非常认同,孩子很容易模仿父亲或者母亲的说话方式和行为模式。所以往往孩子的和父母有着很相似的性格和处事方式。当然也有一些会和父母截然相反。这是因为ta非常讨厌父母的某种行为而避免与之相似。这提醒我们去学习父母做得好的地方,避免去学习错的方式。
由于我很早就知道了这一点,所以我会对我爸妈的处事方式做出判断,如果不对我会指出,如果做得好,我会记在心里,去学习。这一点我爸给我做了很好得榜样,他为人温和沉稳,孝敬老人,勤劳,对生活充满热情。
同时我记得之前也看到过说找妻子一定要看看她妈妈什么样的,因为你将来会发现惊人的一致。

四 如何用不争执的方式处理分歧

这个想法可以,用平和的方式处理问题。
不过我觉得,争吵本身是一种沟通方式,重要的是让彼此更加了解,并且愿意一起解决问题。而不是一吵架就想着结束关系逃避问题。
某种程度上,争吵要强于冷战,对于我来说,冷战是对对方的惩罚,而这不一定有道理,还不如把自己的想法说出来,无论是不满还是委屈。

五 道歉的力量

这一部分说了不少。我在读的时候觉得我是个敢于承认错误的人。但是仔细一想确实是不愿意去承认错误,去道歉,所以一般会避免犯错误。由于这种过度保守的处事方式,导致性格上缺少闯劲。

六 原谅不是靠一时的感觉

道歉即使获得原谅伤害不一定会消失,重要的是去改正,去弥补,去重新塑造培养信任。所以最好不要去做错事,信任破坏只需要一件错误,而建立起来却很难。

七 家里的卫生间不会自己变干净

家务的分配确实挺重要。我的感觉是脏活累活男方多承担一些,女方有去劳动分担的心就可以了。对于花费时间比较多的家务可以分工,双方都有时间的话一起做会很好,这样就是增加感情的做法,家务也不会作为一种负担。如果比较忙,我认为相对清闲的一方可以多承担一些家务。

八 如何精打细算用好钱

关于家庭钱的问题我倒是没有太思考。关于钱是合在一起,还是分开我觉得都可以。可以两个人商量着来。
还有就是谁管账的问题,我对自己的管钱能力还是挺自信的,也不乱花钱。不过花钱也有点保守,可能不适合家庭生活。因此这个可以两个人都试试,看看谁更合适。

九 夫妻双方获得性满足不是自然而然的

这个之前有所耳闻,由于生理上的差异,应该让妻子先满足,丈夫后满足。

十 婚姻把各自的原生家庭连接在一起

确实如此,应该需要彼此体谅,协商,不能总是按照自己的想法来,也不能强迫其他人都认同自己的观点。每个人都有原来的家庭中保留下来的生活习惯和处事方式等。如果处理不好可能冲突不断,能处理好,就是扩展了自己的生活边界,体验更多样的生活方式。

十一 去礼拜不意味着有信仰

有的人去礼拜很可能是一种外在的形式。在选择丈夫或妻子的时候要注意这个问题,同时也要警醒,使自己不要成为形式上的基督徒。

十二 有什么样的个性就有什么样的做事方式

思想决定行为,行为决定习惯,习惯决定性格,性格决定命运 。