首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在python文件中找到行的最后一个字符,将其移动到行的开头

在Python文件中,可以使用以下代码来找到行的最后一个字符,并将其移动到行的开头:

代码语言:txt
复制
def move_last_char_to_beginning(file_path):
    with open(file_path, 'r+') as file:
        lines = file.readlines()
        file.seek(0)
        
        for line in lines:
            if line.strip():
                last_char = line.strip()[-1]
                new_line = last_char + line.strip()[:-1] + '\n'
                file.write(new_line)
                
        file.truncate()

这段代码定义了一个函数move_last_char_to_beginning,接受一个文件路径作为参数。首先,它使用open函数以读写模式打开文件,并读取所有行到lines列表中。

接下来,使用seek函数将文件指针重新定位到文件开头,以便覆盖原有内容。

然后,对于每一行进行处理。通过strip方法去除行两侧的空白字符,然后取最后一个字符作为last_char

接着,构造一个新的字符串new_line,将last_char移动到字符串开头,同时将原字符串去除最后一个字符,并在末尾添加换行符。

最后,使用write方法将新的行写入文件,并使用truncate方法截断文件到当前位置,以删除多余的内容。

调用这个函数,并传入要处理的文件路径,即可完成将行的最后一个字符移动到行的开头的操作。

这个操作在某些场景下可能会有用,例如在对文本文件进行处理时需要将行中特定位置的字符移动到开头以满足特定需求。腾讯云相关产品中,可以使用对象存储 COS(云对象存储)来存储和管理文件,具体可以参考腾讯云对象存储 COS的官方文档:腾讯云对象存储 COS

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python将表格文件指定列依次上

本文介绍基于Python语言,针对一个文件夹下大量Excel表格文件,对其中一个文件加以操作——将其中指定若干列数据部分都向上移动一,并将所有操作完毕Excel表格文件数据加以合并...一个文件夹内,有大量Excel表格文件(以.csv格式文件为例),其中每一个文件都有着类似如下图所示数据特征;我们希望,对于下图中紫色框内列,其中数据部分(每一列都有一个列名,这个列名不算数据部分...由上图也可以看到,需要加以数据操作列,有的原本数据部分第1就没有数据,而有的原本数据部分中第1也有数据;对于后者,我们在数据向上提升一之后,相当于原本第1数据就被覆盖掉了。...此外,很显然一个文件操作结束后,加以处理数据部分最后肯定是没有数据,因此合并全部操作后文件之前,还希望将每一个操作后文件最后删除。   ...接下来,遍历原始文件夹中所有文件,并找到文件夹内以.csv结尾文件;随后,读取这些.csv文件,并将其保存到df中。

10010

Vim命令使用说明

基本移动 h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一; k: 上; gj: 移动到一段内下一; gk: 移动到一段内上一; +或Enter: 把光标移至下一一个非空白字符...w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到一个单词末尾,如果词尾有标点,则移动到标点; b:...后移一个单词,光标停在上一个单词开头; B: 移动到一个单词开头,忽略一些标点; ge: 后移一个单词,光标停在上一个单词末尾; gE: 同 ge ,不过‘单词’包含单词相邻标点。...nG: 到文件第n。 :n 移动到第n。 :$ 移动到最后。 H: 把光标移到屏幕最顶端一。 M: 把光标移到屏幕中间一。 L: 把光标移到屏幕最底端一。...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 光标后插入; A: 在当前行最后插入; o: 在下面新建一插入; O: 在上面新建一插入; :r filename在当前位置插入另一个文件内容

2.6K10

VIM 常用快捷键

而且写文件、查找翻页什么 比我用鼠标快多了,那熟练快捷键看我一愣一愣 ---- 光标移动: h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一; k: 上; gj: 移动到一段内下一...w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到一个单词末尾,如果词尾有标点,则移动到标点; b:...后移一个单词,光标停在上一个单词开头; B: 移动到一个单词开头,忽略一些标点; (: 前1句。...插入: I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 光标后插入; A: 在当前行最后插入; o: 在下面新建一插入; O: 在上面新建一插入; :r filename...:[n]r filename第n插入另一个文件内容。 剪切和复制 [n]x: 剪切光标右边n个字符,相当于d[n]l。 [n]X: 剪切光标左边n个字符,相当于d[n]h。

24.3K22

Vim编辑器常用快捷键

: 退出并销毁所做任何更改 移动 以下移动都是normal模式下,编辑模式通过上下左右按键控制移动。 0:移动到首。g0:移到光标所在屏幕行行首。gg:到文件头部。G:到文件尾部。...h或者退格: 左移一个字符;l或者空格: 右移一个字符;j: 下移一;k: 上;gj: 移动到一段内下一;gk: 移动到一段内上一;+或者Enter: 把光标移至下一一个非空白字符。...w: 前一个单词,光标停在下一个单词开头;W: 移动下一个单词开头,但忽略一些标点;e: 前一个单词,光标停在下一个单词末尾;E: 移动到一个单词末尾,如果词尾有标点,则移动到标点;b: 后移一个单词...,光标停在上一个单词开头;B: 移动到一个单词开头,忽略一些标点;ge: 后移一个单词,光标停在上一个单词末尾;gE: 同 ge ,不过‘单词’包含单词相邻标点。...^: 移动到本行第一个非空白字符。: 移动到行尾。g: 移动光标所在屏幕行行尾。n|: 移到递n列上。nG: 到文件第n。H: 移到屏幕最顶端一。M: 移到屏幕中间一

3.3K20

IdeaVim 基本操作

normal模式下 快捷键 含义 h或退格 左移一个字符 l或空格 右移一个字符 j 下移一 k 上 +或Enter 把光标移至下一一个非空白字符 – 把光标移至上一一个非空白字符...w 前一个单词,光标停在下一个单词开头 e 前一个单词,光标停在下一个单词末尾 b 后移一个单词,光标停在上一个单词开头 ge 后移一个单词,光标停在上一个单词末尾 { 前1段 } 后移1段...上面的操作都可以配合n使用,比如在正常模式下输入3h,则光标向左移动3个字符 快捷键 含义 0 移动到首 $ 移动到行尾 ^ 移动到本行第一个非空白字符 n| 把光标移到递n列上 nG 到文件第n... :n 移动到第n :$ 移动到最后 H 把光标移到屏幕最顶端一 M 把光标移到屏幕中间一 gg 到文件头部 G 到文件尾部 翻屏 快捷键 含义 ctrl+f 下翻一屏 ctrl...zb 将当前行移动到屏幕底端 文本插入 基本插入 快捷键 含义 i 光标前插入 a 光标后插入 I 在当前行第一个非空字符前插入 A 在当前行最后插入 gI 在当前行第一列插入 o 在下面新建一插入

2.2K30

vim技巧

字符 h左移一位,l右移一位 单词 w/W 移动到下一单词开头 b/B 移动到上一单词开头 e/E 移动到光标所在单词末尾 f 快速移动到一个字符位置 j 下移一 k 上 0...移到当前行开头 ^ 移到当前行一个非空字符 $ 移到当前行末尾 :n 移动到第 n 句子 ) 移动到当前句子末尾 ( 移动到当前句子开头 段落 } 移动当前段落末尾 { 移到当前段落开头...屏 H 移动到屏幕第一 M 移动到屏幕中间一 L 移动到屏幕最后 页 Ctrl-f 向前滚动一页 Ctrl-b 向后滚动一页 Ctrl-u向前滚动半页 Ctrl-d 向后滚动半页 文件...G 移动到文件末尾 gg 移动到文件开头 :0移动到文件第一 :$ 移动到文件最后 文本编辑 与光标移动一样,Vi/Vim 中关于编辑操作命令也比较多,但操作单位要比移动光标少得多。...d{ 删除当前段落从光标位置开始到段首内容 文本编辑高效命令 复制与粘贴 yw 复制当前单词从光标开始部分 yy 复制光标所在行所有字符 p 将最后一个删除或复制文本放在当前字符 P 将最后一个删除或复制文本放在当前字符之前

1.5K30

vim编辑器操作汇总

该模式下,用户可以输入各种合法Vi命令,用于管理自己文档。此时从键盘上输入任何字符都被当做编辑命令来解释,若输入字符是合法Vi命令,则Vi接受用户命令之后完成相应动作。...该模式下,用户输入任何字符都被Vi当做文件内容保存起来,并将其显示屏幕上。文本输入过程中,若想回到命令模式下,按键ESC即可。 末行模式   末行模式也称ex转义模式。...命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口最后(通常也是屏幕最后)显示一个“:”作为末行模式提示符,等待用户输入命令。...移动光标: h: 左移 j: 下移 k: 上 l: 右移 M: 光标移动到中间 L: 光标移动到屏幕最后首 G: 移动到指定,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字...{: 按段移动,上 }: 按段移动,下移 Ctr-d: 向下翻半屏 Ctr-u: 向上翻半屏 Ctr-f: 向下翻一屏 Ctr-b: 向上翻一屏 gg: 光标移动文件开头 G: 光标移动到文件末尾

1.4K70

Linux学习笔记之vim操作指令大全

h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一; k: 上; gj: 移动到一段内下一; gk: 移动到一段内上一; +或Enter: 把光标移至下一一个非空白字符...w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到一个单词末尾,如果词尾有标点,则移动到标点; b:...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 光标后插入; A: 在当前行最后插入; o: 在下面新建一插入; O: 在上面新建一插入; :r filename在当前位置插入另一个文件内容...:[n]r filename第n插入另一个文件内容。 :r !date 光标处插入当前日期与时间。同理,:r !command可以将其它shell命令输出插入当前文档。...如ggguG,就是把开头最后之间字母全部变为小 写。再如gu5j,把当前行和下面四全部变成小写。 11.2 替换(normal模式) r: 替换光标处字符,同样支持汉字。

2.8K20

【总结】vim命令使用总结,该来还是躲不掉啊晕

'{}', '[]' - vim中使用 :h matchpairs 获得更多信息) 0 - 移动到首 ^ - 移动到非空白符 $ - 移动到行尾 g_ - 移动到行内最后一个非空白符 gg...- 移动到文件第一 G - 移动到文件最后 5gg or 5G - 移动到第五 gd - 跳转到局部定义 gD - 跳转到全局定义 fx - 移动到字符 x 下次出现位置 tx - 移动到字符...x 下次出现位置一个字符 Fx - 移动到字符 x 上次出现位置 Tx - 移动到字符 x 上次出现位置一个字符 ; - 重复之前f、t、F、T操作 , - 反向重复之前f、t、F、...Esc - 退出插入模式 编辑文本 r - 替换当前字符 R - ESC 按下之前,替换多个字符 J - 将下一合并到当前行, 并在两部分文本之间插入一个空格 gJ - 将下一合并到当前行,...,$d - 删除当前行到文件末尾 :.,1d - 删除当前行到文件开头 :10,$d - 从第 10 文件末尾 :g/{pattern}/d - 删除所有包含模式 :g!

51921

【盟友分享】vim学习之路-vim基本操作

,并更新文件修改时间) 操作回退和恢复: u 回退到上一次操作 U 本行改动恢复 ctrl+r 与u操作相反操作 移动操作: j 下移一 k 上 h 左移一列 l 右移一列 0...移动到开头 $ 移动到结尾 w 移动到一个单词开头 e 移动到一个单词结尾 fx 移动到本行之后第一个出现x字母位置 tx 移动到本行之后第一个出现x字母一个位置 gg 跳到文件首 G 跳到文件尾...光标所处行数不变。 CTRL-Y使文本向下滚动一。光标所处行数不变。 CTRL-F 向前滚动一整屏。滚动后光标处于第一。 CTRL-B向后滚动一整屏。滚动后光标处于最后。...文本操作: d 剪切,双击剪切一 y 复制,双击复制一 p 粘贴 x 删除当前光标下字符 r 替换当前光标字符,后面接替换字符 :s/old/new/g 全局替换old为new 模式切换 插入模式...!后添加外部命令 查找 :/ /后添加要查找内容,进入查找时,按n查找下一个,N查找上一个

2K60

Vim实用技巧

2.插入模式中使用up/down/left/right会重置修改状态 B.构造可重复修改 1.db命令删除从光标起始位置到单词开头内容,但会原封不动地留下最后一个字符 2.x删除当前字符 3.b把光标移到单词开头...make dir来进行补救 八、用动作命令文档中移动 A.让手指保持本位上 1.h左移一列,l右移一列,j下移一,k上 2.只用h和l来解决“差一错误”(off-by-one errors...B.区分实际与屏幕 1.gj、gk向下、向上移动一个屏幕 2.g0、g^、g$,移动到屏幕首、第一个非空白字符、行尾 C.基于单词移动 1.w正向移动到下一单词开头,b反向移动到当前单词/...上一单词开头,e下向移动到当前 单词/下一单词结尾,ge反向移动到上一单词结尾 D.对字符进行查找 1.f{char}命令会在光标位置与当前行行尾之间查找指定字符,如果找到了就会把光标移到此字符上.../{char}查找命令 2.n下移,N上 F.用精确文本对象选择选区 1.Vim文本对象由两个字符组成,第一个字符永远是i或是a。

2.6K30

【C文件操作2】如何随机进行文件读取?

因为一般浏览工具(如 UltraEdit)中,回车换行被视为两个字符 0x0D 和 0x0A,但真实文件读写和定位却按照一个字符 0x0A 进行处理。...fell一个小应用:获取文件长度 加入一共文件读写位置已经被移动了多次,这时若想获得文件长度,可以向用ftell记录当前读写位置,然后将其动到末尾,再利用ftell获取文件尾至头部位置,就是文件长度了...(fp);/*记录文件当前位置指针位置*/ fseek(fp, 0L, SEEK_END);/*读写位置移动到文件末尾*/ len = ftell(fp);/*获取文件末尾到文件开头长度...“Hello world”,然后使用fseek函数,将读写位置移动到文件开头向后第6个字符,接着该处,又使用fputs函数写入了一段字符串“xxpcb.github.io”,这样,就会在指定位置处...最后,使用fgets函数,将文件中写入内容再获取出来。

1K30

100 条 Linux vim 命令备忘单,收藏起来随时备用!

强行写入当前文件并退出 插入命令备忘单 a 光标后插入 A 在行尾插入 i 光标前插入 I 在行中一个非空白之前插入 gI 第 1 列中插入 o 光标下方开始新并插入 O 光标上方开始新并插入...dw删除一个词 D删除从光标所在位置到行尾所有内容 d0删除从光标所在位置到所有内容 dgg删除从光标所在位置到文件开头所有内容 dG删除从光标所在位置到文件末尾所有内容 x删除单个字符...,它们之间有一个空格 gJ将下面的合并到当前行,它们之间没有空格 u撤消 Ctrl+ r重做 .重复上一个命令 移动命令备忘单 h向左移动光标 j向下移动光标 k向上移动光标 l向右移动光标 b移动到单词开头...w移动到一个单词开头 e移动到单词末尾 0跳到首 $跳到行尾 ^跳转到该行一个(非空白)字符 Ctrl + b向后移动一个全屏 Ctrl + f向前移动一个全屏 Ctrl + d向前移动...1/2 个屏幕 Ctrl + u向后移动 1/2 个屏幕 Ctrl + e将屏幕向下移动一(不移动光标) Ctrl + y将屏幕上(不移动光标) Ctrl + o通过跳跃历史向后移动 Ctrl

1.5K20

Linux 学习VI编辑器

tr [a-z] [A-Z] 命令模式下,可以输入如下命令: i:在当前光标的前面插入一个字符 I:移动光标到首 a:在当前光标的后面插入一个字符 A:移动到末 o:移动到下一 O:移动到上一...:重复执行上一次命令 { :按段移动,上 }:按段移动,下移 dw:删除光标开始位置字(一个单词),包含光标所在字符 r:替换一个字符 R:替换光标以及后面的字符 /要查找内容:搜索...按 0 (数字零):移动文章开头。[常用] 按 G:移动到文章最后。[常用] 按 w:光标跳到下个word开头。[常用] 按 e:光标跳到下个word字尾。...按 b:光标回到上个word开头。 按 $:移到光标所在行行尾。[常用] 按 ^:移到该行第一个非空白字符。 按 0:移到该行开头位置。...为一个字母,n为一个数字 "?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 "?p:取出寄存器?中内容并将其放到光标位置处。这里?

7.6K30

Mac下键盘使用

要使用键盘快捷键,请按住一个或多个修饰键,同时按快捷键最后一个键。例如,要使用快捷键 Command-C(拷贝),请按住 Command 键并按 C 键,然后同时松开这两个键。...Fn–左箭头 开头:滚动到文稿开头。 Fn–右箭头 结尾:滚动到文稿末尾。 Command–上箭头 将插入点移至文稿开头。 Command–下箭头 将插入点移至文稿末尾。...Shift–上箭头 将文本选择范围扩展到上一相同水平位置最近字符处。 Shift–下箭头 将文本选择范围扩展到下一相同水平位置最近字符处。...Control-F 向前移动一个字符。 Control-B 向后移动一个字符。 Control-L 将光标或所选内容置于可见区域中央。 Control-P 上。...Control-N 下移一。 Control-O 插入点后插入一。 Control-T 将插入点后面的字符与插入点前面的字符交换。 Command–左花括号 ({) 左对齐。

2.7K130

Atom飞行手册翻译: 2.2 Atom中移动

要想上或者下移一个字符,你可以按ctrl-P和ctrl-N。左移或右移一个字符,按ctrl-B和ctrl-F。这样等同于按下方向键,但是一些人不喜欢把他们手移到方向键位置。...除了单个字符移动,还有一些其他用于移动快捷键。 alt-B, alt-left 移动到单词开头。 alt-F, alt-right 移动到单词末尾。...cmd-right, ctrl-E 移动到整行末尾 cmd-left, ctrl-A 移动到整行开头 cmd-up 移动到文件开头。 cmd-down 移动到文件末尾。...Atom书签 Atom同时拥有一个非常棒途径,特定上面加上书签,使你可以快速跳到那一。 如果你按下cmd-F2,Atom会给那一加上书签。...你可以整个项目中设置一些书签,并且使用它们快速跳到项目中一些重要一个书签标识会加在行号后面,像下面这张图第22。 按下F2之后,Atom会跳到当前文件一个书签位置。

1K20
领券